딥러닝이란 여러 층을 가진 인공 신경망을 사용하여 학습을 수행하는 것이다.
딥러닝은 입력층, 출력층과 두 개 이상의 은닉층으로 구성되어 있다.
입력층 (input layer)
데이터를 받아들이는 층
은닉층 (hidden layer)
모든 입력 노드부터 입력 값을 받아 가중합을 계산하고, 이 값을 활성화 함수에 적용하여 출력층에 전달하는 층
출력층 (output layer)
신경망의 최종 결괏값이 포함된 층
가중치 (weight)
조드와 조드 간 연결 강도
👉🏻 입력으로 들어온 데이터들 중에서 어떤 feature(x)를 많이 반영하고 어떤 feature를 덜 반영할지 결정한다. 가중치가 커질수록 그 feature는 모델에 더 많은 영향을 미치게 된다.
바이어스 (bias)
가중합에 더해 주는 상수(b)로, 하나의 뉴런에서 활성화 함수를 거쳐 최종적으로 출력되는 값을 조절하는 역할을 한다.
활성화 함수 (activation function)
신호를 입력받아 이를 적절히 처리하여 출력해 주는 함수
손실 함수 (loss function)
가중치 학습을 위해 출력 함수의 결과와 실제 값 간의 오차를 측정하는 함수
확률적
으로 표현하는 데 사용한다.기울기 소멸 문제
가 발생함▶︎기울기 소멸 문제
딥러닝 모델의 깊이가 깊어지면 기울기가 사라지는 문제
활성화 함수 계산 과정에서 도함수 값이 계속 곱해지면서 가중치 결괏값이 0이 되어 더 이상 계산이 불가능한 상태이다.
기울기 소멸문제가 발생하지 않는다.
출력 노드의 활성화 함수로 많이 사용된다.
경사 하강법은 학습률과 손실 함수의 순간 기울기를 이용하여 가중치를 업데이트하는 방법
이다. 미분의 기울기를 이용하여 오차를 비교하고 최소화하는 방향으로 이동시키는 방법이다. 이때 오차를 구하는 방법이 손실 함수이다.
one-hot encoding
했을 때만 사용할 수 있는 오차 계산법이다.한 번만
계산하여 모델의 파라미터를 업데이트하는 방법임의로 선택한 데이터
에 대해 기울기를 계산하는 방법으로 적은 데이터를 사용하므로 빠른 계산이 가능하다.평균 기울기
를 이용하여 모델을 업데이트해서 학습하는 방법이다.심층 신경망은 입력층과 출력층 사이에 다수의 은닉층을 포함하는 인공 신경망이다.
다수의 은닉층을 두었기 때문에 다양한 비선형적 관계
를 학습할 수 있다.
연산량이 많고 기울기 소멸 문제 등이 발생할 수 있다.
👉🏻 드롭아웃, 렐루 함수, 배치 정규화 등을 적용해 해결한다.
합성곱 신경망(CNN)은 합성곱층(convolutional layer)
과 풀링층(pooling layer)
을 포함하는 이미지 처리 성능이 좋은 인공 신경망 알고리즘이다.
+) Conv2d
순환 신경망은 시계열 데이터 같은 시간 흐름에 따라 변화하는 데이터를 학습하기 위한 인공 신경망이다.
순환은 가지 자신을 참조한다는 것
으로, 현재 결과가 이전 결과와 연관이 있다는 의미이다.
볼츠만 머신은 가시층(visible layer)과 은닉층(hidden layer)으로 구성된 모델이다.
다만 이 모델에서는 가시층은 은닉층과만 연결된다.
입력층의 노드는 데이터를 입력으며 입력받은 데이터를 은닉층에 얼마나 전달할 것인지를
확률에 따라 결정(stochastic decision)
한다. 즉 확률에 따라 입력을 전달할지(1) 혹은 전달하지 않을지(0)를 결정한다.
심층 신뢰 신경망은 입력층과 은닉층으로 구성된 제한된 볼츠만 머신을 블록처럼 여러층으로 쌓은 형태로 연결된 신경망이다.
비지도 학습이 가능
하다.일반화
와 추상화
과정을 구현할 때 사용하면 유용하다.