딥러닝 기초(2)

경도현·2021년 6월 10일
0

딥러닝

목록 보기
1/1
post-thumbnail

Deep Learning 핵심 개념

• 인공신경망 (Neural Network)
• 깊은 층 (Deep Layer)
• 비선형성 (Non-Linearity)
• 최적화 (Optimization)
• 딥러닝 모델의 공간적 의미

1. 인공신경망 (Neural Network)

• 인공신경망 문제해결 프로세스
  - 문제 정의 ▶ 모델 구성 ▶ 모델 학습 ▶ 문제 해결

퍼셉트론

• 인공신경망의 기본 구성 요소
• 다수의 입력신호(input)를 받아서 하나의 신호(output)를 출력


뉴런(Perceptron)

• 가중치[W] : 입력 신호가 결과에 주는 영향력(중요도)을 조절하는 변수
• 편향[b] : 퍼셉트론이 얼마나 쉽게 활성화 하느냐를 조정하는 변수
• 활성화 함수[f(x)] : 입력 신호의 가중합을 확인해 출력 신호를 결정하는 함수

Ex)내일 수업에 지각하는 사람을 예측하는 퍼셉트론 모델


• 가중치[W] : 입력 신호가 결과에 주는 영향력을 조절
• Input이 지각 여부를 예측 하는데 미치는 영향력 반영



• 활성화 함수[f(x)] : 입력 신호의 가중합을 확인해 출력 신호를 결정하는 함수



•편향[b] : 퍼셉트론이 얼마나 쉽게 활성화 하느냐를 조정하는 변수
•편향[b]의 값이 큰 양수(10) 일 경우 임계값이 낮아져(-10) 쉽게 활성화 됨
※ 임계값이란 어떠한 값이 활성화되기 위한 최소값



• 모델(Model)

출처 : codepresso.kr


• 단층 퍼셉트론(Single Layer Perceptron) :

   데이터의 입력층과 출력층만 있는 구조

인공신경망인 단층 퍼셉트론은 그 한계가 있는데, 비선형적으로 분리되는 데이터에 대해서는 제대로된 학습이 불가능하다는 것입니다. 예를 들면 단층 퍼셉트론으로 AND연산이나 OR연산에 대해서는 학습이 가능하지만, XOR에 대해서는 학습이 불가능하다는 것이 증명되었습니다. (딥러닝 기초1. 참고)

이를 극복하기 위한 방안으로 입력층과 출력층 사이에 하나 이상의 중간층을 두어 비선형적으로 분리되는 데이터에 대해서도 학습이 가능하도록 다층 퍼셉트론(줄여서 MLP)이 고안되었습니다.

• 다층 퍼셉트론(Multi Layer Perceptron) :

입력층과 출력층 사이에 존재하는 중간층을 숨어 있는 층이라 해서 은닉층(hidden layer)이라 부릅니다. 입력층과 출력층 사이에 여러개의 은닉층이 있는 인공 신경망을 심층 신경망(deep neural network)이라 부르며, 심층 신경망을 학습하기 위해 고안된 특별한 알고리즘들을 딥러닝(deep learning)이라 부릅니다.

다층 퍼셉토론에서는 입력층에서 전달되는 값이 은닉층의 모든 노드로 전달되며 은닉층의 모든 노드의 출력값 역시 출력층의 모든 노드로 전달됩니다. 이런 형식으로 값이 전달되는 것을 순전파(feedforward)라 합니다. 입력층과 은닉층에 있는 한개의 노드만 볼 때, 하나의 단층 퍼셉트론으로 생각할 수 있습니다. 따라서 은닉층에 있는 각각의 노드는 퍼셉트론의 활성 함수라고 볼 수 있습니다.

단층 퍼셉트론은 활성 함수가 내놓는 결과값이 실제값과 오류가 최소가 되도록 입력층에서 전달되는 값들에 곱해지는 가중치의 값을 결정하는 것입니다.

다층 퍼셉트론의 동작 원리 역시 단층 퍼셉트론의 동작 원리와 크게 다를 것이 없습니다. 차이점은 단층 퍼셉트론은 활성 함수가 1개인 반면, 다층 퍼셉트론은 은닉층과 출력층에 존재하는 활성 함수가 여러개이고, 이에 따른 가중치도 여러개인 것입니다.

그런데, 여기서 한가지 어려움이 있습니다. 단층 퍼셉트론에서는 은닉층이 존재하지 않고, 입력층과 출력층만 존재하기 때문에 출력층의 결과값을 우리가 확보한 실제값과 비교하여 오차가 최소가 되도록 가중치를 업데이트하고 결정하면 됩니다. 하지만 다층 퍼셉트론에서는 입력층과 출력층 사이에 은닉층이 존재하고, 은닉층의 출력값에 대한 기준값을 정의할 수 없습니다. 은닉층에서 어떤 값이 출력되어야 맞다, 틀리다하는 기준이 없다는 것입니다.

이러한 문제점을 해결하기 위해 다층 퍼셉트론에서는 출력층에서 발생하는 오차값을 이용하여 은닉층으로 역전파(backpropagation)시켜 은닉층에서 발생하는 오차값에 따라 은닉층의 가중치를 업데이트하게 됩니다. 역전파는 나중에 다루도록 하겠습니다.

profile
I'm a Graduate student studying Deep Learning.KR👨‍💻

0개의 댓글