sailorCat

전체 글 250

카테고리 설명
😘
카테고리
작성일
2022. 2. 9. 00:04
작성자
sailorCat
728x90

728x90

'인공지능 AI > ANN' 카테고리의 다른 글

tensor 기본연산 colab  (0) 2022.02.07
구글 Colab 인공신경망 torch 실습  (0) 2022.02.07
다층 퍼셉트론 인공신경망  (0) 2022.02.07
카테고리
작성일
2022. 2. 9. 00:04
작성자
sailorCat
728x90

728x90
카테고리
작성일
2022. 2. 8. 23:57
작성자
sailorCat
728x90

728x90
카테고리
작성일
2022. 2. 8. 18:41
작성자
sailorCat
728x90

단일노드의 역전파는 다음과 같다.

output gradient와 local gradient를 곱한다.

x * y = xy 라는 식이 있다.

여기서 out 값인 xy를 x로 미분하면 y, y로 미분하면 x 가 나온다.

in1값인 x로 미분하면 in2값인 y 가 나온다.

이 값은 local gradient이다.

 

시그모이드

 

ReLU

0또는 1이 된다.

Gradient 에서 x요소가 여러개 y는 하나이다.

스칼라값이 하나 나올때 손실함수를 사용할 수 있다.

Jacobian에서 x요소가 여러개 y요소도 여러개이다.

 

출력이 스칼라형태로 나오지만 중간에 벡터들을 거쳐야 하기 때문에 확장해야 한다.

야코비언과 그레디언트 디센트의 조합으로 구한다.

 

출력값이 행렬이라도 손실함수는 스칼라 값 하나이다.

입력도 행렬이고 가중치도 행렬이다.

이때 야코비언값은 3차원 텐서형태가 된다.

 

미니배치 방식

 

한번에 t개의 샘플을 처리한다.

t는 미니배치의 크기이다.

t=1이면 확률론적 경사 하강법

t=n 전체이면 배치경사 하강법

 

미니매치 방식은 보통 t의 개수가 수십에서 수만개 된다.

경사도의 잡음을 줄여주기 때문에 극값으로의 수렴이 빨라지고 GPU를 사용한 병렬처리에도 유리하다.

현대 기계학습은 미니배치기반의 확률론적 경사하강법을 표준으로 여겨 널리 사용한다.

 

728x90
카테고리
작성일
2022. 2. 8. 15:20
작성자
sailorCat
728x90

오류역전파 Back Propagation

다층 퍼셉트론은 각 층으로 진행되면서 행렬곱으로 연산이 이뤄진다.

행렬곱과 편향으로 왜곡이 일어난다.

 

예측값과 실제값의 차이를 손실함수를 통해 낮춰준다.

경사하강법으로 미분값을 통해 새롭게 갱신

목적함수를 최소화하거나 최대화하는 값을 찾는것이 목적이다.

여기서는 최소화시기는 목적함수를 사용하고 거의 배치모드로 사용한다.

기댓값과 실제값의 차이로 이루어진다.

 

전방 연산은 그래프로 표현할 수 있다.

a) 간단한 연산

b) 로지스틱 회귀 : 내적을 구하고 편향을 더한다

c) ReLU activation : matmul을 구하고 편향을 더한다

d) 선형 회귀

 

부분식이 반복되기 때문에 원하는 위치의 가중치 w값을 연쇄적으로 얻어낼 수 있다.

이 부분식들을 저장하여 재연산을 최소화 하는 동적프로그래밍을 적용할 수 있다.

신경망도 오류역전파를 할 때 그레디언트가 부분식으로 연산을 최소화 할 수 있다.

 

그레디언트 디센트 방법을 사용하여 오류를 최소화 한다.

연쇄법칙은 분해된다.

중간 연산들은 생략될 수 있다.

끝에서 나오는 손실오차값을 특정 가중치 값으로 연산하여 역전파한다.

예측값과 실제값의 차이인 J(세타)를 가장 최소화 하는 U1, U2값의 최저점을 찾아주는 경사하강법을 사용한다.

오차를 구하고 오차를 미분하여 가중치 값을 구한다.

가중치 값을 갱신하여 다시 오차를 계산한다.

원하는 멈춤 조건이 나올 때 까지 가중치 값을 갱신하고 오차를 계산한다.

 

빨간선의 미분값을 구한다.

오차 Ok를 통해 U2값을 구한다.

빨간 선 O1과 U2, O2와 U2, O3와 U2를 통해 U1값을 구한다.

 

출력의 오류를 역방향으로 전파하며 경사도를 계산한다.

반복되는 부분식들의 경사도의 지수적 폭발이나 사라짐을 피해야 한다.

f(x, y) = z

손실 = z - 기댓값

 

728x90
카테고리
작성일
2022. 2. 8. 01:20
작성자
sailorCat
728x90

퍼셉트론 선형 분류기의 한계

XOR 문제에서 75%의 정확도 한계가 있다.

선형분리 불가능한 상황에서 일정한 양의 오류가 생긴다.

 

다층퍼셉트론 

은닉층 Hidden Layer : 은닉층은 원래의 특징공간을 분류하는데 유리한 새로운 특징공간으로 변환한다.

 

시그모이드 활성함수 Sigmoid : 다층퍼셉트론은 연성 의사결정이 가능한 시그모이드 함수를 활성함수로 활용한다. 

연성에서 출력값이 연속값이고, 이것을 신뢰도로 간주한다.

 

오류 역전파 알고리즘 Back Propagation : 역방향으로 진행하며 한 층씩 그레디언트를 계산하고 가중치를 갱신한다. 

 

퍼셉트론 1, 2 가 모두 +1이면 A공간에 배치된다.

 

퍼셉트론 2개를 병렬결합하면 원래 공간을 새로운 특징공간 z로 변환

새로운 특징 공간 z에서 선형분리 가능해진다.

사람이 수작업 특징학습을 수행한 것과 유사하다

- 표현학습과 같다.

 

 

이전 시그모이드는 0부터 1까지의 값을 가지는 함수

양극 시그모이드는 -1부터 1까지의 값을 가지는 함수

 

은닉노드가 충분히 많다면, 활성함수로 무엇을 쓰던 표준 다층 퍼셉트론은 어떤 함수라도 원하는 정확도만큼 근사화 할 수 ㅣ있다.

 

순수한 최적화 알고리즘으로는 높은 성능이 불가능하다.

데이터의 희소성과 잡음, 미숙한 신경망 구조들로 성능이 저하된다.

 

초기값, 학습률, 활성함수를 적절히 선택해야 한다.

 

 

다층 퍼셉트론 시각화 사이트

https://playground.tensorflow.org/#activation=tanh&batchSize=10&dataset=circle&regDataset=reg-plane&learningRate=0.03&regularizationRate=0&noise=0&networkShape=4,2&seed=0.28872&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=false&xSquared=false&ySquared=false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false

 

Tensorflow — Neural Network Playground

Tinker with a real neural network right here in your browser.

playground.tensorflow.org

 

728x90
카테고리
작성일
2022. 2. 7. 15:39
작성자
sailorCat
728x90

텐서 소개  |  TensorFlow Core

 

텐서 소개  |  TensorFlow Core

도움말 Kaggle에 TensorFlow과 그레이트 배리어 리프 (Great Barrier Reef)를 보호하기 도전에 참여 텐서 소개 import tensorflow as tf import numpy as np 텐서는 일관된 유형(dtype이라고 불림)을 가진 다차원 배열입

www.tensorflow.org

728x90

'인공지능 AI > ANN' 카테고리의 다른 글

pytorch ANN 인공신경망 실습  (0) 2022.02.09
구글 Colab 인공신경망 torch 실습  (0) 2022.02.07
다층 퍼셉트론 인공신경망  (0) 2022.02.07
카테고리
작성일
2022. 2. 7. 15:10
작성자
sailorCat
728x90

https://pytorch.org/docs/stable/torch.html

 

torch — PyTorch 1.10 documentation

Shortcuts

pytorch.org

런타임 유형변경을 누르면 노트를 바꿀 수 있다.

 

 

 

텐서를 생성하고 활용하는 방법

728x90

'인공지능 AI > ANN' 카테고리의 다른 글

pytorch ANN 인공신경망 실습  (0) 2022.02.09
tensor 기본연산 colab  (0) 2022.02.07
다층 퍼셉트론 인공신경망  (0) 2022.02.07