● 2000년대 들어서 다양한 머신러닝 알고리즘들이 딥러닝의 빈자리를 채우며 인공지능의 대세를 이루게 됩니다. 이제껏 딥러닝이 월드클래스가 되기 전 시대를 풍미한 머신러닝 알고리즘에 대해 알아봤습니다.
● 그 머신러닝 알고리즘에는 SVM, KNN, 의사결정트리의사결정 트리, 랜덤포레스트랜덤 포레스트, 앙상블학습(배깅, 부스팅) 등이 있었습니다. 그나저나. 머신러닝이 잘 나갈 때, 딥러닝은 혼자서 울고 있던 것만은 아니었습니다. 조용히 칼을 갈고 있었죠.
● 2006년 볼츠만 머신을 이용한 학습방법이 재조명됩니다. 이 볼츠만 머신의 핵심 아이디어는 바로 Unsupervised Learning, 즉 label이 없는 데이터로 미리 충분한 학습을 한다는 것이며 그 후에 앞에 나온 역전파 알고리즘 등을 통해 기존의 supervised learning을 수행합니다. 이런 방법을 통해 앞서 언급한 다중 퍼셉트론의 단점들이 많이 해결됩니다.
●즉, Unlabeled data를 이용할 수 있고 이를 이용해 unsupervised pre-training을 수행함으로서 기울기 소실 문제,, 오버 피팅 문제가 극복될 수 있으며, pre-training이 올바른 초기값 선정에도 도움을 주어 진짜 최솟값이 아니라 국소 최솟값에 빠지게 되는 문제도 어느 정도 해결하게 됩니다.
● 한편, 언급된 다층퍼셉트론의 약점을 그냥 Supervised Learning에서 해법을 찾으려는 최근의 노력들이 있었습니다. 그 산물이 바로 ReLU 활성화 함수와 Dropout기법입니다.시그모이드 함수이든, tanh함수 이든 기울기 소실은 일어납니다. 그런데 ReLU는 x가 0이상일 때는 선형 증가하는 함수이며 00 미만일 때는 모두 0인 함수인데, 아래 그림에서 볼 수 있듯이 0보다만 크면 항상 기울기가 1로 일정해 기울기가 감소하는 경우가 없어 학습이 용이합니다.
● 또, 실제로 이것이 기존의 방법보다 학습 성능이 좋고 pre-training의 필요성을 없애줍니다. 아하, 렐루 함수가 괜히 나온게 아니었군요. 이런 흐름에서 발견된 활성화함수임을 이해했습니다.
● 다음 시간에는 드롭아웃에 대해 살펴보면 되겠습니다. 뭔가 점점 알고리즘을 개선한다기보다는 약간의 공학적 기법 등을 더해서 문제를 해결해가는 느낌이 강해지는 느낌입니다.
https://m.blog.naver.com/etripr/222775853851
● 한편, 회사에서 모든 팀이 모든 일을 함께 하는 것보다 팀별로 분담해서 일을 한 후 그것을 통합하는 것이 더 효율적으로 업무를 수행할 수 있습니다. 이와 비슷하게, 데이터를 학습할 때 마다 모든 hidden 레이어의 노드중 일부를 끕니다(DropOut). 즉, 각 데이터를 학습할 때마다 히든 레이어의 노드의 일부만 쓰고 결론적으로 그 학습결과를 합치면 기존의 학습방법보다 좋은 성능을 보인다는 점입니다.
● 때론 복잡하지 않고, 단순하게 생각하고 넘기는 것이 좋을 때가 있다는 교훈을 주는 것이 드롭아웃 기법이었습니다. 조금만 더 부연하면 드롭아웃은 신경망 학습 시에만 사용합니다. 예측할 때는 사용하지 않습니다.
● 학습 시에 인공 신경망이 특정 뉴런 또는 특정 조합에 너무 의존적이게 되는 것을 방지합니다. 매번 뉴런을 랜덤 선택하므로 서로 다른 신경망들을 앙상블 하여 사용하는 것 같은 효과를 내어 과적합을 방지합니다.
● 이제까지의 내용을 간단히 정리해봅시다. 1950년대 퍼셉트론(perceptron)에서 시작된 인공신경망 연구는 1980년대 오류역전파알고리즘(Error Backpropagation Algorithm)으로 다층퍼셉트론(Multilayer perceptron)을 학습할 수 있게 되면서 발전을 이루었습니다. 그러나 기울기 소실, labeled data의 부족, 오버피팅, local minima issue 등이 잘 해결되지 못해 2000년대 초까지 인공신경망 연구는 답보를 이루고 있었고, 그 자리를 머신러닝 알고리즘들이 메웠습니다. 한편, 2006년부터 볼츠만 머신을 이용한 Unsupervised Learning인 다양한 딥러닝 초기 모델들이 개발되면서 unlabeled data를 이용하여 pre-training을 수행할 수 있게 되어 위에 언급된 다층 퍼셉트론의 한계점이 극복되었습니다.
● 2010년부터는 빅데이터와 컴퓨팅 파워의 발달을 적극적으로 이용함으로써 수많은 labeled data를 사용할 수 있게 되었고, ReLU, DropOut 등의 발견으로 기울기 소실 문제와 오버피팅 이슈를 해결하여 아예 Supervised learning이 가능하게 되었습니다.
● 알고리즘 자체의 개선보다는 공학적 기법의 실험적 적용과 GPU를 위시한 컴퓨팅 파워적 측면의 물량공세를 펴서 안되면 되게 하는 방식이 효과를 보게 되었다 할 수 있습니다. 딥러닝은 지금도 발전하고 있습니다. 하지만 반대로 알고리즘적 한계는 분명히 존재합니다. 그래서 대기업들이 물량전의 끝판왕인 초거대 AI모델에 집착하는것일지도 모르겠습니다.
● 딥러닝은 또 어떻게 발전할까요? 지금의 방식으로 과연 강 인공지능을 달성해낼 수 있을까요? 아니면 새로운 접근방식이 등장할까요? 양자컴퓨팅이 그열쇠가될까요? 지켜보기로 합시다.
https://n.news.naver.com/article/001/0013290538?lfrom=kakao
'AI(인공지능) 이야기' 카테고리의 다른 글
6번째 이야기 - 머신러닝과 딥러닝의 공통점과 차이점 (0) | 2022.09.04 |
---|---|
5번째 이야기 - 딥러닝 추론, 머신러닝, 전문가 시스템 (0) | 2022.09.04 |
4번째 이야기 - 무의식의 상관관계, 상식의 저주, 기호주의 (0) | 2022.09.04 |
3번째 이야기 - 인공지능, 인공지능 기술, 인공지능 사용 설명서 (0) | 2022.09.04 |
2번째 이야기 - GPU, 일렉스넷, 엔비디아(NVIDIA) (0) | 2022.09.04 |
댓글