이 주제에 대해 궁금한 점이 있으시면 도와 드리겠습니다. 저는 딥 러닝 분야에 처음 왔고, 튜토리얼을하면서 개념을 서로 연관 시키거나 구별 할 수는 없습니다.
이 주제에 대해 궁금한 점이 있으시면 도와 드리겠습니다. 저는 딥 러닝 분야에 처음 왔고, 튜토리얼을하면서 개념을 서로 연관 시키거나 구별 할 수는 없습니다.
답변:
먼저 간단한 분류 작업을 해결해 봅시다. 예를 들어, 때때로 스팸 메시지로 가득 찬 웹 포럼을 운영한다고 가정 해보십시오. 이러한 메시지는 쉽게 식별 할 수 있습니다. 대부분의 경우 "구매", "포르노"등과 같은 특정 단어와 외부 리소스에 대한 URL을 포함합니다. 그러한 의심스러운 메시지에 대해 경고하는 필터를 작성하려고합니다. 그것은 매우 쉬운 것으로 밝혀졌습니다-기능 목록 (예 : 의심스러운 단어 목록 및 URL 존재)을 얻고 간단한 로지스틱 회귀 (일명 perceptron)를 훈련하십시오.
g(w0 + w1*x1 + w2*x2 + ... + wnxn)
여기서 x1..xn
당신의 기능 (특정 단어 또는 URL 중 하나 존재)이다 w0..wn
- 배운 계수와 g()
A는 물류 기능 메이크업 결과에 그것은 매우 간단한 분류하지만이 간단한 작업은 아주 좋은 결과를 얻을 수 있습니다 0과 1이 될 만들고, 선형 결정 경계. 2 개의 피처 만 사용했다고 가정하면이 경계는 다음과 같이 보일 수 있습니다.
여기에서 2 개의 축은 기능 (예 : 메시지에서 특정 단어의 발생 횟수, 0으로 정규화 됨), 빨간색 점은 스팸에 대해 유지되고 파란색 점은 일반 메시지에 대해 유지되며 검은 선은 구분선을 나타냅니다.
그러나 곧 좋은 메시지에는 "구매"라는 단어가 많이 포함되어 있지만 실제로는 포르노 영화와 관련이 없는 URL이나 포르노 탐지에 대한 확장 된 토론이 없습니다. 선형 결정 경계는 단순히 그러한 상황을 처리 할 수 없습니다. 대신 다음과 같은 것이 필요합니다.
이 새로운 비선형 의사 결정 경계는 훨씬 더 유연합니다 . 즉, 데이터를 훨씬 더 가깝게 맞출 수 있습니다. 이 비선형 성을 달성하는 방법에는 여러 가지가 있습니다. 다항식 기능 (예 :) x1^2
또는 그 조합 (예 : 커널 방법)x1*x2
을 사용하여 더 높은 차원으로 투영 할 수 있습니다 . 그러나 신경망에서는 퍼셉트론 을 결합 하거나 다시 말하면 다층 퍼셉트론 을 구축 하여 이를 해결하는 것이 일반적입니다.. 여기서 비선형 성은 레이어 간 로지스틱 함수에서 비롯됩니다. 레이어가 많을수록 MLP가 더 정교한 패턴을 적용 할 수 있습니다. 단일 계층 (퍼셉트론)은 간단한 스팸 탐지를 처리 할 수 있고, 2-3 개의 계층이있는 네트워크는 까다로운 기능 조합을 포착 할 수 있으며, 대규모 연구 실험실과 Google과 같은 회사에서 사용하는 5-9 계층의 네트워크는 전체 언어를 모델링하거나 고양이를 감지 할 수 있습니다. 이미지에.
이것이 깊은 아키텍처 를 갖는 필수 이유 입니다. 보다 정교한 패턴을 모델링 할 수 있습니다 .
단 하나의 기능과 선형 결정 경계만으로도 실제로는 2 개의 훈련 예제 (하나는 긍정적이고 하나는 부정적) 만 있으면 충분합니다. 여러 기능 및 / 또는 비선형 의사 결정 경계를 사용하면 가능한 모든 사례를 다루기 위해 몇 가지 예가 더 필요합니다 (예 : word1
, word2
및을 사용 하여 예를 찾아야 할 word3
뿐만 아니라 가능한 모든 조합으로). 실제 생활에서는 수백, 수천 가지 기능 (예 : 언어의 단어 또는 이미지의 픽셀)과 비선형 성이 충분할 수있는 최소한 몇 개의 레이어를 처리해야합니다. 이러한 네트워크를 완전히 훈련시키는 데 필요한 데이터 세트의 크기는 10 ^ 30 예제를 쉽게 초과하므로 충분한 데이터를 얻는 것이 불가능합니다. 다시 말해, 많은 기능과 여러 계층으로 인해 의사 결정 기능이 너무 유연 해집니다.정확하게 배울 수 있습니다 .
그러나 대략 배우는 방법이 있습니다 . 예를 들어, 확률 적 설정에서 작업하는 경우 모든 기능의 모든 조합에 대한 빈도를 학습하는 대신, 독립적 인 것으로 가정하고 개별 주파수 만 배우고 완전 및 제한되지 않은 Bayes 분류기 를 Naive Bayes 로 줄이고 많은 것을 요구합니다. 배울 데이터가 훨씬 적습니다.
신경망에서는 의사 결정 기능의 복잡성 (유연성)을 (의도적으로) 줄이기위한 여러 가지 시도가있었습니다. 예를 들어, 이미지 분류에 광범위하게 사용되는 컨볼 루션 네트워크는 주변 픽셀 사이의 로컬 연결 만 가정하므로 전체 이미지 (예 : 16x16 픽셀 = 256 입력 뉴런) 내부의 작은 "윈도우"(예 : 16x16 픽셀 = 256 입력 뉴런) 내부의 픽셀 조합 만 알아 봅니다. 100x100 픽셀 = 10000 개의 입력 뉴런). 다른 접근법으로는 기능 엔지니어링, 즉 입력 데이터의 사람이 발견 한 특정 디스크립터 검색 등이 있습니다.
수동으로 검색된 기능은 실제로 매우 유망합니다. 예를 들어 자연어 처리에서는 특수한 사전 (예 : 스팸 관련 단어가 포함 된 단어)을 사용하거나 부정 (예 : " 좋지 않음 ")을 사용하는 것이 도움이됩니다. 그리고 컴퓨터 비전에서 SURF 디스크립터 또는 Haar와 같은 기능 은 거의 대체 할 수 없습니다.
그러나 수동 기능 엔지니어링의 문제점은 문자 그대로 좋은 설명자를 만드는 데 몇 년이 걸린다는 것입니다. 또한 이러한 기능은 종종 특정
그러나 자동 엔코더 및 제한된 Boltzmann 머신 과 같은 알고리즘을 사용하여 데이터에서 올바른 기능을 자동으로 얻을 수 있습니다 . 나는 다른 대답 에서 자세하게 설명 했지만 간단히 말해 입력 데이터에서 반복되는 패턴 을 찾아 더 높은 수준의 기능으로 변환 할 수 있습니다. 예를 들어 입력으로 행 픽셀 값만 제공하면 이러한 알고리즘은 더 높은 전체 모서리를 식별하여 전달한 다음 이러한 모서리에서 그림 등을 구성하여면의 변형과 같은 실제 수준의 설명자를 얻을 때까지 구성 할 수 있습니다.
이러한 (비지도) 사전 훈련 네트워크는 일반적으로 MLP로 변환되어 정상적인 감독 훈련에 사용됩니다. 사전 훈련은 레이어 단위로 수행됩니다. 이는 다른 레이어를 고려하지 않고 각 레이어 내부의 매개 변수 만 학습하면되므로 학습 알고리즘 (및 필요한 교육 예제 수)에 필요한 솔루션 공간을 크게 줄 입니다.
감독되지 않은 사전 훈련이 한동안 여기에 왔지만 최근에 다른 알고리즘이 사전 훈련과 함께 그리고 사전 훈련없이 학습을 향상시키는 것으로 밝혀졌습니다. 이러한 알고리즘의 주목할만한 예 중 하나는 드롭 아웃 -간단한 기술로 훈련 중에 일부 뉴런을 무작위로 "제거하여"왜곡을 만들고 데이터를 따르는 네트워크를 너무 밀접하게 방지합니다. 이것은 여전히 뜨거운 연구 주제이므로 독자에게 맡기십시오.
먼저 왜 딥 러닝이 필요한지 이해해야합니다. ML 모델을 구축하려면 레이블이있는 테스트 데이터 (감독 또는 비 감독)가 필요합니다. 많은 도메인에서 데이터가 증가함에 따라 레이블을 사용하여 데이터를 유지 관리하는 것은 어렵습니다. 딥 러닝 네트워크에는 레이블이 지정된 데이터가 필요하지 않습니다. 딥 러닝 알고리즘은 레이블을 알아낼 수 있습니다. 따라서 이것은 음성 인식, 컴퓨터 비전 및 언어 이해 영역에서 매우 중요한 데이터 레이블을 도메인 전문가가 필요로하지 않도록합니다. Google Cat 이미지 인식은 매우 흥미로운 실험입니다. 또한 구글이 고용 한 교수 인 "Geoffrey hinton"을 아는 것도 흥미 롭습니다.
http://www.wired.com/2014/01/geoffrey-hinton-deep-learning/
이 프레임 워크를 살펴보면 더 많은 통찰력을 얻을 수 있습니다.
딥 러닝은 오랫동안 사용되어 왔습니다. CNN, RNN, Boltzmann Machines는 새로운 기술처럼 보이지만 오래 전부터 개발되었습니다. 딥 러닝의 역사를 확인하십시오
https://en.wikipedia.org/wiki/Deep_learning#History
딥 러닝의 부활은 그 당시부터 계산 능력이 기하 급수적으로 증가했기 때문입니다. GPU가 장착 된 랩톱을 사용하면 복잡한 딥 러닝 모델을 훈련 할 수 있습니다. 딥 러닝 모델도 경험적으로 매우 효율적입니다. 이미지, 음성 및 다양한 분야의 최신 기술은 딥 러닝 모델입니다.
이러한 요소들로 인해 많은 NLP / ML 커뮤니티가 딥 러닝에 초점을 맞추고 있음을 알 수 있습니다.