데이터과학기초-(9)인공신경망의 이해

Coding_Holic·2021년 7월 7일
1

데이터 과학 기초

목록 보기
8/13

인공신경망의 이해

인공신경망:ANN,Artificial Neural Network

사람의 뇌가 동작하는 방식을 그대로 흉내내어 만든 수학적 모델
뉴런과 시냅스: neuron and synapse
-사람의 뇌는 뉴런(신경세포)들이 서로 연결되어 다른 뉴런들과 상호작용
-입력으로 받은 전기 신호를 적당히 처리하여 다른 뉴런에 전달
-신호를 전달하려면 입력으로 받은 전기 신호의 합이 일정 수준(threshold)을 넘어야 함

생물학적 뉴런

dendrites=수상돌기 axon terminal= 축삭말단

인공적(수학적)인 뉴런:

퍼셉트론: Perceptron

뉴런의 동작 방식을 모방하여 만든 수학적 모델
입력값: x1,x2,...,xn
-입력값의 합을 구할때, 해당 입력값을 강화하거나 약화하기 위해 곱하는 값
-y=f(x1,x2,...,xn)=w1x1+w2x2+...+wnxn

활성 함수:Activation Function(계단,로지스틱,relu)

-y의 값이 임계값(threshold)보다 크면 1, 아니면 0을 출려가는 함수

-출력값: y=1이면 다음 퍼셉트론으로 전달하고, y=0이면 전달하지 않음

ex)로지스틱(시그모이드) 함수: 미분가능한 성질을 가진다

1.bounded 2.monotonic

미분 가능하면 좋은 이유 -> 경사하강법으로 최적의 파라미터를 찾을 때 미분해서 0이 되는 지점을 찾아가야 하기 때문


왼쪽은 계단, 오른쪽은 로지스틱(공통점: 둘다 비선형함수)

ReLU함수

교정된 선형 단위: Rectified Linear Unit
시그모이드 함수의 경사 손실 현상: Vanishing Gradient

  • 경사하강법으로 최적의 파라미터를 찾을 때 기울기가 0에 가까워짐
    ReLU: 0보다 큰 값은 출력값과 같아지도록 함(경사 손실을 줄여준다)
    -미분불가능한 구간있음!




XOR->구현 불가능, 비선형적인 특성이 필요
NAND게이트는 모든 계산이 가능하다

?? 의문점: 계단이랑 RELU는 다른거?ㅇㅇ달러, RELU는 선형 단위인데 선형함수?->ㄴㄴ 비선형함수, RELU함수는 시그모이드 함슈의 경사 손실현상으로 나온 함수인가?

퍼셉트론으로 만드는 예측기

퍼셉트론의 구성


분석:
FINEAGG의 가중치 값과 은닉층의 편향값은? -> 0.24606, -2.6352

다층 퍼셉트론과 순전파

다층 퍼셉트론: MLP, Multi-Layer Perceptron

다층 퍼셉트론의 구성: 강화학습(reinforcement),action->reward

입력층: Input Layer
-신호가 입력되는 곳
은닉층: Hidden Layer
-입력층의 신호들을 모아서 출력층으로 신호를 전달하는 곳
-노드가 많을수록 더 결과가 정확하겠지만, 계산량도 많아짐
출력층: Output Layer
-은닉층으로부터 받은 값을 출력해 주는 곳

인공신경망(ANN)의 네트워크 토폴로지: Network Topology

몇 개의 계층으로 구성할 것인가? 은닉층은 여러 개 있을 수 있다.
네트워크의 각 계층별로 몇 개의 노드를 둘 것인가?
정보는 순방향으로만 흐를 것인가, 역방향으로만 흐를 것인가?

인공신경망의 순전파:Feed Forward

정보의 흐름이 입력층에서 출력층까지 순방향으로만 진행

a->z로 갈때 활성화 함수를 돌림, 은닉층의 활성화함수와 출력층의 활성화함수를 다르게 줄 수 있다.





네트워크 토폴로지가 뭐여?

활성함수의 선택:

소프트플러스 함수: ReLU 함수를 미분가능하도록 변형


분석: 입력층은 8개의 퍼셉트론을 가지고, 은닉층은 모두 10개의 퍼셉트론을 가지고,
은닉층은 모두 10개의 BIAS값을 가진다. 은닉층은 2개의 층으로 구성된다.

profile
안녕하세용 개발에 미치고 싶은 초보 개발자입니다:)

0개의 댓글