2022. 3. 2. 16:24ㆍSTUDY/AI 기본
내용출처 : https://lebi.tistory.com/18
딥러닝의 시초 인공신경망 (1940~1950)
딥러닝의 역사는 1940년대 인공지능에서부터 시작되었다.
인간은 기계에게 지능을 부여하고자 했으며
인공지능 연구자들은 인간의 두뇌를 모방하여 정보를 처리하고자 하였다.
1943년 최초로 제안된 인공신경망(Artificial Neural Networks)은
인간의 뇌 신경세포 구조를 수학적으로 모델링하는 개념이다.
뇌의 신호 전달과정
인간의 뉴런은 Dendrite(수상돌기)를 통해 여러 개의 시그널을 받는다.
Dendrite(수상돌기)가 받은 여러 개의 시그널이 복합적으로 계산되어 Cell body에 전달되면
한 가지의 시그널이 만들어지고 만들어진 한 개의 시그널이 Axon(축색돌기)을 통해 다른 뉴런으로 전달되게 된다.
Dendrite(수상돌기)와 Axon terminal의 결합점인 시냅스(Synapse)에서
일정치 이상의 입력신호를 받으면 출력신호가 나타난다.
이것이 우리의 뇌가 신호를 받아서 반응하는 원리이다.
퍼셉트론
최초의 인공신경망 모델인 퍼셉트론은 인간의 뉴런과 비슷한 구조를 지님
퍼셉트론 모델이 x라는 신호(input)를 받으면 각각의 x는 각각의 가중치(w)와 곱해지고 편향치(b)와 더해진다.
모든 인풋 결과가 더해진 값을 활성화 함수에 인자로 대입하면 기대치 여부에 따라 다른 신호(output)가 리턴된다.
인공신경망의 문제와 해결 (1960~1980)
다층 퍼셉트론
위에서 제시된 퍼셉트론은 AND 와 OR 연산자의 Linear separable 한 문제를 쉽게 해결가능하였다.
하지만 XOR 연산자의 Unlinear separable한 문제를 해결할수 없었다.
XOR 연산의 한계로 신경망의 인기가 사그라지다가, 1986년 Geoffrey Hinton 연구진이
단층 퍼셉트론을 여러층 쌓아올린 다층 퍼셉트론(MLP,Multi Layer Perceptron)을 제시하였고
NAND, OR, AND연산자를 조합하여 비선형 분리 XOR 연산 문제를 해결할 수 있게 되었다.
역전파 알고리즘(Back Propagation Algorithm)
위 다층 퍼셉트론은 비선형 분리문제를 해결할 수 있었다.
하지만 Layer의 수가 많아지면서 늘어나는 Weight와 Bias를
수동으로 설정하여 학습시키기에는 한계가 있었다.
이를 해결하기 위해 Hinton 교수진이 Back propagtion Algorithm을 제안하면서
MLP를 제대로 학습할 수 있게된다.
딥러닝의 등장과 암흑기(1980~2000)
딥러닝 모델들의 등장
역전파 알고리즘으로 다층 퍼셉트론을 학습할 수 있게되면서 인공신경망(ANN)은 호황기를 누릴 수 있었다.
연구가 호황을 이루면서 ANN의 은닉층을 깊게 쌓아 만든 딥러닝 모델들(CNN, RNN)이 등장하기 시작했다.
한계점
그러나 1990년대에 접어들면서 실생활 문제 데이터의 차원이 증가하고, 구조가 복잡해지면서
여러 문제가 발생하게 되고 딥러닝의 개념들은 그 당시 기술력의 부족으로 실질적인 한계를 마주하게 된다.
1. Non convex problem
convex func : 볼록함수
concave func : 오목함수
Non convex : 짬뽕
최적의 파라미터 가중치(Global minimum)를 할당하기 위해
경사하강법(gradient descent)을 사용하였으나
은닉층이 많아지고 구조가 복잡해지면서(Non convex)
최적값이 아닌지점(Local minimum)에서 학습을 멈춰버리는 문제가 발생하였다.
[나중에 작성하고 링크 달아야할 부분]
2. Curse of dimensionality
차원이 증가함에 따라 희소성이 발생하여 생기는 문제
[나중에 작성하고 링크 달아야할 부분]
3. Overfitting 모델이 학습데이터에만 특화된채로 학습되어 새로운 데이터에 대해 성능이 저하되는 문제고차원으로 갈수록 문제가 가중된다.
[나중에 작성하고 링크 달아야할 부분]
4. Low learning time
은닉층이 증가할수록 연산량이 급증하는 문제로 1900년대 당시 하드웨어에 성능에 한계가 있었다.
이러한 문제들에 의해 신경망(Neural Network)기술은 암흑기를 맞이하게 된다.
머신러닝의 호황기(2000~2006)
1900년대 후반, 신경망 기술이 움츠러들게 되고 2000년대에 접어들면서는 비선형 함수를 이용한
다양한 머신러닝 알고리즘들이 인공지능의 대세를 이루게 된다.
SVM (Support Vector Machine)
클래스를 구분하는 경계면을 찾아서 입력값의 클래스를 예측하는 지도학습 분류 예측기법 (ANN과 별개이다)
오차를 최소화 하는 것 외에 두 부류 사이에 존재하는 여백(margin)을 최대화 하는 구분 경계면을 찾는 것이 목표
클래스 구분 경계면이 직선이 아닌 경우에는 커널을 이용하여 더 높은 차원의 데이터로 변형하여 학습
[나중에 작성하고 링크 달아야할 부분]
KNN(K Nearest Neighborhood) - 최근접 이웃 알고리즘
실제값과의 거리를 기준으로 입력값의 클래스를 예측하는 지도학습 예측 기법
입력값이 연속형인 경우에는 대개 유클리디안 거리를 사용하며, 이산형인 경우에는 해밍 거리를 사용
입력값에서 가장 가까운 K개의 실제값을 거리 탐색 후,
분류 문제이면 다수 투표를 수행하고, 회귀 문제이면 평균 계산을 수행하여 입력값의 클래스를 예측
[나중에 작성하고 링크 달아야할 부분]
한계점
그러나 실제로 세상에 존재하는 데이터들은 대부분 Unlabeled data(정답이 없는 데이터)였기 때문에
이 기법들 외에도 다른 지도학습 기법들은 성능이 좋았음에도 불구하고 한계에 봉착하게 된다.
ANN의 일부 문제 해결과 딥러닝의 재조명(2006~2010)
1900년대 후반, 신경망 기술이 움츠러들게 되고 2000년대에 접어들면서는 비선형 함수를 이용한
다양한 머신러닝 알고리즘들이 인공지능의 대세를 이루게 된다.
Pre - training (선학습법)
군집화(비지도학습)를 통해 데이터노이즈를 감소시킨다음 하위층 시냅스를 선훈련 시키고
선훈련된 층들을 쌓아 올려 최적화를 수행하는 학습법
선학습법을 통해 최적의 Training initial point를 지정할 수 있게 되면서
Vanishing graident, Non convex, Overfitting, Curse of dimensionality 문제들을 일부 해결할 수 있게 된다.
정규화 방법의 발전(2010~2012)
ReLU 함수의 등장
그러나 기존 신경망의 대표적인 활성화 함수인 시그모이드 함수가 비선형 모델 이기 때문에
선학습에도 불구하고 미분 과정에서 오차가 사라지는 Vanishing gradient(오차 희석)현상은 여전히 문제였다.
이를 해결하기 위해 Hinton교수는 2010년에 x가 0이상일 때 선형 증가하는 함수인 ReLU함수를 제안하고
ReLU함수를 활성화 함수로 사용하여 미분 문제를 해결하게 되면서 선학습의 필요성을 없애주었다.
Dropout
그럼에도 Labeled data의 부족과 그로 인한 Overfitting문제는 여전히 ANN의 어려운 이유 중 하나이다.
이에 Hinton교수는 2012년 DropOut이라는 정규화 방법을 제안한다.
이는 은닉 계층의 일부 유닛을 확률적으로 제외시키면서 학습을 진행시키는 것인데
학습할 때마다 일부 유닛만 사용하고 결과적으로 학습결과를 합치면 더 좋은 성능을 보인다는 것.
다양한 딥러닝 알고리즘의 발전(2012~)
CNN & RNN & GAN
[나중에 작성하고 링크 달아야할 부분]