딥러닝 - 신경망

이관우·2023년 4월 7일
0

신경망

뉴런 - 한 숫자를 담는다. 0 ~ 1

뉴런 내 값 = Activation
한 층에서의 활성화가 다음 층의 활성화를 유도

중요 - 한 층의 활성화가 다음 층의 활성화에 영향을 미치는 방식

Bias - 활성화 조건 조절을 위해 더해지는 값 - 뉴런이 활성화되려면 가중치의 합이 얼마나 더 높아야 하는지

개념상 각 뉴런은 이전 층의 모든 뉴러과 연결되어 있고, 각 연결의 가중치는 그 세기, bias는 뉴런이 활동적인지 비활동적인지

입력/출력값에서 최초에는 랜덤한 가중치/bias 값을 계산하게 되겠지
잘못된 출력과 원하는 출력의 차의 제곱을 모두 더하여 "cost" 를 계산

cost가 작으면 학습이 잘된것

이러한 함수에서 최소값을 찾으려면?

이런 방식으로 local minimum을 찾을 수 있다.
기울기에 따라 이동 값을 정하면 오버 슈팅도 막을 수 있다.

그랭디언트 벡터 - 함수으 ㅣ기울기
이걸 사용

이 벡터를 컴퓨터로 계산 가능한가? -> 내리막 방향과 이동할 거리
이 그래디언트 계싼을 효과적으로 만드는 것이 신경망의 학습 효율을 결정하는 핵심 요소

  • back progation. - 오차역전파법

구현 세부사항의 독립성
신경망 학습은 그냥 cost 함수가 최소값을 가지도록 하는 것
이렇게 반복적으로 그래디언트의 음의 방향으로 이동하는 방식을 경사 하강법(Gradient Decent)

이 그래디언트 계산도 벡터로 표현하면, 각 값은 각각의 가중치와 bias의 중요도를 표현하는 것이라고 생각할 수 있다.

이건 사실 80-90년대 기술

출력을 원하는 것으로 하는 경우를 생각해보자
정답 값이 2일때, 되어야 하는 것은 2의 값은 커지고, 나머지 값은 작아지는 것
이걸 이전 뉴런의 활성도와 연관하여 계산할 ㅜㅅ 있다.
이것이 backpropgation 개념

참고 - https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&index=1&t=1008s

profile
예이

0개의 댓글