신경망과 딥 신경망의 차이점은 무엇이며 왜 깊은 네트워크가 더 잘 작동합니까?


113

이 용어로 질문이 정확하게 언급 된 것을 보지 못했기 때문에 새로운 질문을합니다.

내가 알고 싶은 것은 신경망의 정의가 아니라 깊은 신경망과의 실제 차이점을 이해하는 것입니다.

자세한 내용은 신경망이 무엇인지, 역 전파가 어떻게 작동하는지 알고 있습니다. DNN에 숨겨진 레이어가 여러 개 있어야한다는 것을 알고 있습니다. 그러나 10 년 전 클래스 I에서 여러 계층 또는 하나의 계층 (입력 및 출력 계층을 계산하지 않음)이 신경망이 나타낼 수있는 기능 (Cybenko의 범용 근사 정리 참조)과 동일하다는 것을 알았습니다. 계층이 많을수록 성능 향상없이 ​​분석하기가 더 복잡해졌습니다. 분명히, 그것은 더 이상 그렇지 않습니다.

나는 아마도 틀린 것보다는 차이점이 구조보다는 훈련 알고리즘과 속성에 관한 것이라고 생각합니다. 따라서 답이 DNN으로의 이동을 가능하게 한 이유 (예 : 수학적 증거 또는 무작위로 네트워크를 가지고 노는 이유)를 밑줄 수 있다면 정말 감사하겠습니다. ?) 및 바람직한 (예를 들어 수렴 속도?)



근사하려는 기능이 구성 기능인 경우 (물리 법칙으로 인해 이미지 처리 및 많은 자연 영역에서 일반적 임). 딥 네트워크는이 구성 성을 이용하여 기하 급수적으로 적은 수의 뉴런 (단일 숨김 계층 네트워크와 비교)으로 동일한 수준의 근사 오차를 달성 할 수 있음을 증명할 수 있습니다. 참고 : Poggio, Tomaso 등 "왜 얕지만 얕은 네트워크는 차원의 저주를 피할 수 있는가 : 언제 검토." International Journal of Automation and Computing (2017)
DataHungry

답변:


151

사소한 것부터 시작합시다. 심층 신경망은 단순히 숨겨진 계층이 많은 피드 포워드 네트워크입니다.

이것은 정의에 대해 말할 것이 많거나 적습니다. 신경망은 반복적이거나 피드 포워드 일 수 있습니다. 피드 포워드는 그래프에 루프가 없으며 레이어로 구성 할 수 있습니다. "다수의"계층이 있다면 네트워크가 깊다고 말합니다 .

얼마나 많은 층 네트워크는 깊은받을 수 있도록해야해야합니까? 이것에 대한 명확한 대답은 없지만 (얼마나 많은 곡물 이 힙을 만드는지 묻는 것과 같지만) 일반적으로 두 개 이상의 숨겨진 레이어가 깊은 것으로 계산됩니다. 대조적으로, 단일 숨겨진 계층만을 갖는 네트워크는 통상적으로 "얕은"이라 불린다. 나는 여기에 약간의 인플레이션이있을 것으로 의심하고, 10 년 안에 사람들은 10 층 이하의 것은 얕고 유치원 운동에만 적합하다고 생각할 것입니다. 비공식적으로 "깊은"은 네트워크가 다루기가 어렵다는 것을 나타냅니다.

여기에 적응 된 그림 이 있습니다 .

딥 vs 딥 뉴럴 네트워크

그러나 당신이 묻는 실제 질문은 물론 많은 층을 갖는 것이 왜 유익할까요?

다소 놀라운 답은 아무도 모른다는 것입니다. 아래에서 간단히 살펴볼 몇 가지 일반적인 설명이 있지만 그중 어느 것도 사실로 입증되지 않았으며 많은 레이어를 갖는 것이 실제로 유익 하다는 것을 확신 할 수조차 없습니다 .

딥 러닝이 대중적으로 인기가 많기 때문에 매년 모든 이미지 (이미지 인식, Go 재생, 자동 번역 등)를 깨고 업계 등에서 사용되고 있습니다. 우리는 여전히 없습니다 아주 그렇게 잘 작동 이유를 확인합니다.

나는 내 논의를 기반으로 깊은 학습 2017 년 나가서 널리 것으로 간주됩니다 Goodfellow, Bengio 및 Courville에 의해 책 깊은 학습에 대한 책. (무료로 온라인으로 제공됩니다.) 관련 섹션은 6.4.1 Universal Approximation Properties and Depth 입니다.

당신은 그것을 썼다

10 년 전 수업에서 신경망이 나타낼 수있는 기능 측면에서 여러 레이어 또는 하나의 레이어 (입력 및 출력 레이어를 계산하지 않음)가 [...]

1989 년 Cybenko가 증명하고 1990 년대에 다양한 사람들이 일반화 한 이른바 범용 근사 정리를 참조해야합니다 . 기본적으로 얕은 신경망 (숨겨진 계층 1 개)은 모든 기능에 근접 수 있으며, 원칙적으로 무엇이든 배울 있습니다. 이것은 오늘날 대부분의 신경망에서 사용하고있는 정류 된 선형 단위를 포함하여 다양한 비선형 활성화 함수에 해당됩니다 ( 이 결과에 대해서는 교과서 참조 Leshno et al. 1993 ).

그렇다면 왜 모두가 깊은 그물을 사용합니까?

글쎄, 순진한 대답은 그들이 더 잘 작동하기 때문입니다. 다음은 하나의 특정 작업에서 더 많은 계층을 갖는 데 도움이 되는 딥 러닝 책 의 그림 이지만 다양한 작업 및 도메인에서 동일한 현상이 종종 관찰됩니다.

더 많은 층이 좋습니다

우리는 얕은 네트워크 더 깊은 네트워크 만큼 성능이 좋을 있다는 것을 알고 있습니다. 그러나 그렇지 않습니다. 그리고 그들은 보통 그렇지 않습니다. 문제는 --- 왜? 가능한 답변 :

  1. 아마도 얕은 네트워크는 깊은 네트워크보다 더 많은 뉴런을 필요로할까요?
  2. 얕은 네트워크가 현재 알고리즘으로 훈련하기가 더 어려울 수 있습니다 (예 : 로컬 최소 점이 더 심하거나 수렴 속도가 느리거나 다른 것)?
  3. 어쩌면 얕은 아키텍처가 우리가 일반적으로 해결하려고하는 종류의 문제에 맞지 않을 수도 있습니다 (예 : 객체 인식은 전형적인 "깊고"계층 적 프로세스입니까?)
  4. 다른 것?

깊은 학습 이 책은 글 머리 기호 1 번과 3 주장한다. 첫째, 얕은 네트워크의 단위 수는 작업 복잡성으로 기하 급수적으로 증가한다고 주장합니다. 따라서 얕은 네트워크를 유용하게 사용하려면 매우 커야합니다. 딥 네트워크보다 훨씬 클 수 있습니다. 이것은 얕은 네트워크가 어떤 경우에는 기하 급수적으로 많은 뉴런을 필요로 한다는 것을 증명하는 많은 논문을 기반으로 한다. 그러나 MNIST 분류 또는 Go 재생이 그러한 경우인지는 확실하지 않습니다. 둘째,이 책은 이렇게 말합니다.

심층 모델을 선택하면 우리가 배우고 자하는 기능에는 몇 가지 간단한 기능의 구성이 포함되어야한다는 일반적인 믿음이 있습니다. 이것은 학습 학습 문제가 학습 변수가 일련의 기본 변동 요인을 발견하는 것으로 구성되어 있다고 생각하는 것으로 표현 학습 관점에서 해석 될 수 있습니다.

현재의 "합의"는 총알 점 # 1과 # 3의 조합이라고 생각합니다. 실제 작업의 경우 딥 아키텍처는 종종 유리하며 얕은 아키텍처는 비효율적이며 동일한 성능을 위해 더 많은 뉴런이 필요합니다.

그러나 입증 된 것과는 거리가 멀다. 예를 들어 Zagoruyko와 Komodakis, 2016, Wide Residual Networks를 고려하십시오 . 2015 년에 150 개 이상의 레이어 가있는 잔여 네트워크가 나타 났 으며 다양한 이미지 인식 공모전에서 우승했습니다. 이것은 큰 성공을 거두었고 깊이를지지하는 설득력있는 논쟁처럼 보였습니다. 다음은 나머지 네트워크 논문에 대한 첫 번째 저자 의 프레젠테이션 에서 얻은 한 그림입니다 (시간이 혼란스럽게 왼쪽으로갑니다).

깊은 잔여 네트워크

그러나 위에 링크 된 논문은 "단지"16 개의 레이어를 가진 "와이드"잔여 네트워크가 150 개 이상의 레이어를 가진 "깊은"네트워크보다 뛰어나다는 것을 보여줍니다. 이것이 사실이라면, 위 그림의 요점은 무너집니다.

또는 Ba and Caruana, 2014 년을 고려하십시오. Deep Nets은 정말로 깊어 야합니까? :

이 논문에서 우리는 얕은 그물이 깊은 그물과 같은 기능을 학습 할 수 있고 어떤 경우에는 깊은 그물과 같은 수의 매개 변수를 학습 할 수 있다는 경험적 증거를 제공한다. 먼저 최첨단 딥 모델을 훈련 한 다음 딥 모델을 흉내 내기 위해 얕은 모델을 훈련시켜이를 수행합니다. 모방 모델은 다음 섹션에서 설명하는 모델 압축 체계를 사용하여 학습됩니다. 놀랍게도 모델 압축을 사용하면 얕은 그물을 원본에서 직접 훈련 할 때이 얕은 그물을 깊은 그물처럼 정확하게 훈련시킬 수는 없지만 얕은 그물을 일부 깊은 모델만큼 정확하게 훈련시킬 수 있습니다 교육 자료에 라벨을 붙였습니다. 딥 네트와 동일한 수의 매개 변수를 가진 얕은 네트가 충실도가 높은 딥 네트를 모방하는 것을 배울 수 있다면,

사실이라면 이것은 올바른 설명이 # 1 또는 # 3이 아니라 내 총알 # 2라는 것을 의미합니다.

내가 말했듯이 --- 아직 아무도 확실히 모른다.


끝 맺는 말

지난 10 년 동안 딥 러닝에서 달성 한 진도는 정말 놀랍지 만, 이러한 진전의 대부분은 시행 착오에 의해 달성되었으며, 딥 넷이 제대로 작동 하는 이유 에 대한 기본적인 이해는 여전히 부족 합니다. 사람들이 효과적인 딥 네트워크를 설정하는 데 중요하다고 생각하는 것의 목록조차도 2 년마다 변하는 것 같습니다.

딥 러닝 르네상스는 2006 년에 누구로부터도 많은 관심없이 신경망에서 일한 적이있는 Geoffrey Hinton이 딥 네트워크를 효과적으로 훈련 할 수있는 몇 가지 획기적인 논문을 발표하면서 시작되었습니다 ( 과학 논문 , 신경 계산 논문 ) . 비결은 경사 하강을 시작하기 전에 감독되지 않은 사전 훈련 을 사용하는 것이 었습니다 . 이 논문은 현장에 혁명을 일으켰으며, 몇 년 동안 사람들은 감독되지 않은 사전 훈련이 핵심이라고 생각했습니다.

그런 다음 2010 년 Martens는 심층 신경망이 2 차 방법 (예 : Hessian-free 방법)으로 훈련 될 수 있고 사전 훈련으로 훈련 된 네트워크를 능가 할 수 있음을 보여주었습니다 . Hessian-free 최적화를 통한 딥 러닝 . 그리고 2013 년 Sutskever et al. : 매우 영리한 트릭 확률 그라데이션 하강 헤 시안없는 방법을 능가 할 수 있다는 것을 보여 주었다 깊은 학습의 초기화 및 모멘텀의 중요성에 . 또한, 2010 년경 사람들은 S 자형 단위 대신 정류 된 선형 단위를 사용하면 경사 하강에 큰 차이가 있음을 깨달았습니다. 드롭 아웃은 2014 년에 나타났습니다. 잔여 네트워크는 2015 년에 나타났습니다. 사람들은 딥 네트워크와10 년 전의 주요 통찰력처럼 보였던 것은 오늘날의 성가신 것으로 간주됩니다. 이 모든 것은 시행 착오에 의해 주도되며 어떤 것이 잘 작동하고 어떤 것이 제대로 작동하지 않는지에 대한 이해 가 거의 없습니다. 딥 네트워크 교육은 많은 트릭과 같습니다. 성공적인 트릭은 일반적으로 팩트 후 합리화됩니다.

우리는 왜 딥 네트워크가 성능 수준에 도달했는지조차 모릅니다. 사람들은 단지 10 년 동안 지역의 최소 점을 탓했지만, 현재의 생각은 이것이 중요하지 않다는 것입니다 (성능 고원에서는 기울기가 크게 유지되는 경향이 있습니다). 이것은 딥 네트워크에 대한 기본적인 질문이며 우리는 이것을 알지 못합니다 .

업데이트 : 이것은 기계 학습에 대한 Ali Rahimi의 NIPS 2017 이야기의 주제입니다 : https://www.youtube.com/watch?v=Qi1Yry33TQE .


[이 답변은 2017 년 4 월에 완전히 작성되었으므로 아래 의견 중 일부는 더 이상 적용되지 않습니다.]


2
좋은 반응! 1) @Nicolas에서 언급했듯이 단일 숨겨진 레이어 와 유한 한 수의 뉴런 을 가진 피드 포워드 신경 네트워크 는 근사치가 될 수 있다고 주장 하는 정리 ( en.wikipedia.org/wiki/Universal_approximation_theorem ) 가 있음이 밝혀졌습니다 장치 하이퍼 큐브의 모든 연속 기능 (DNN 포함). 이 결과는 활성화 기능의 선택과 무관하다고 주장합니다. 2) 귀하의 마지막 말 (즉, Hinton이 Google에 합류 한 것)이 최근의 DNN 성공과 관련이 있는지 확실하지 않습니다. DNN이 전염병이 된 후 Hinton이 Google에 합류했습니다!
Sobi

4
어쩌면 우리는 용어를 다르게 사용하고있을 것입니다. 퍼셉트론에는 숨겨진 레이어가 없습니다. 입력은 데이터이고 출력은 분류입니다. 다층 네트워크 층으로부터 출력 것을 함께 같은 유선 퍼셉트론 즈 (Perceptrons)의 다발로 구성되어 형태의 입력이 층 . 숨겨진 계층이 하나 인 네트워크에는 세 개의 계층 (입력, 숨김, 출력)이 있습니다. 이 숨겨진 계층은 보편적 근사의 핵심입니다. 퍼셉트론 (perceptron)은 XOR과 같은 것을 계산할 수 없지만 멀티 레이어 네트워크는 할 수 없습니다. Nn1n
Matt Krause

2
선형성 문제는 두 가지 문제의 조합으로 보입니다. 퍼셉트론은 선형 결정 경계 만 계산할 수 있습니다. 직선을 그려 두 클래스를 나눌 수 있습니다. 다층 네트워크는보다 복잡한 경계를 "그릴"수 있습니다. 그러나 퍼셉트론이나 멀티 레이어 네트워크는 멀티 레이어 네트워크의 출력 레이어를 제외하고 선형 활성화 기능을 사용하지 않습니다. 퍼셉트론 활성화 기능은 헤비 사이드 (x> 0이면 1, 그렇지 않으면 0)입니다. 멀티 레이어 네트워크는 종종 시그 모이 드를 사용하지만, 대략적인 일정하지 않고 경계가 있고 단조롭게 증가합니다.
Matt Krause

2
@amoeba 큰 대답, 시작 종류의 그림은 나에게 나머지를 읽게했다. 그러나 그것은 최고였습니다. 퍼셉트론은 분류에 대한 선형 회귀의 대응 물이므로 사람들이 폐쇄 형 솔루션 (의사 역)을 사용하여 온라인 (sgd) 방법 대신 문제를 해결하는 경우 로지스틱 회귀 분석 (Logistic Regression)이라고합니다. = 퍼셉트론. 퍼셉트론 / 로지스틱 회귀는 선형 결정 경계 만 '그릴'수 있으며 이것이 선형이라고 불립니다.
shuriken x blue

2
그러나 다층 퍼셉트론 (왼쪽의 첫 번째 그림에서 그린 것)은 여러 선형 결정 경계를 결합하여 공간을 분할하여 @Matt와 같은 (비선형) XOR 문제를 해결할 수 있습니다. 따라서 많은 선형 결합 결정 경계가 눈을 가늘게 뜨는 경우와 같이 원을 만들 수 있습니다. 그것은 당신이 그것에 대해 어떻게 생각 하느냐에 달려 있습니다-결정은 여전히 ​​더 높은 공간에서 선형 적입니다. 커널에 익숙하다면, 그것은 똑같은 것입니다.
shuriken x blue

8

지금까지 좋은 대답이지만, 여기에 아무도 언급하지 않은 몇 가지가 있지만 여기에 내 0.02 $이 있습니다.

나는 이야기의 형태로 대답하고 더 재미 있고 분명하게 만들어야합니다. 여기에는 tldr이 없습니다. 그 과정에서 차이점이 무엇인지 이해할 수 있어야합니다.

DNN이 그렇게했을 때 불타 오르는 데는 여러 가지 이유가 있습니다 (별이 비슷한 것들과 마찬가지로 정렬되어야했기 때문에 적절한 장소, 적절한 시간 등).

한 가지 이유는 데이터의 가용성, 많은 양의 데이터 (레이블이있는 데이터)입니다. '일반적인 우선 순위'또는 '유니버설 우선 순위'(일명 작업 / 애플리케이션간에 재사용 할 수있는 기본 빌딩 블록)와 같은 것을 일반화하고 학습하려면 많은 데이터가 필요합니다. 그리고 야생 데이터는 실험실에서 신중하게 기록 된 살균 된 데이터 세트와 모두를 통해 멸균 된 데이터 세트가 아니라 추가 할 수 있습니다. Mechanical Turk는이를 가능하게했습니다.

둘째, GPU를 사용하여 더 큰 네트워크를 더 빨리 훈련시킬 수있어 실험 속도가 빨라졌습니다. ReLU 장치는 계산 속도가 빨라지고 레이어가 더 희박하므로 동일한 정보를 압축하기 위해 한 레이어에 더 많은 장치를 사용해야했기 때문에 정규화를 제공하므로 드롭 아웃에도 적합했습니다. 또한 여러 레이어를 쌓을 때 발생하는 중요한 문제를 해결하는 데 도움이되었습니다. 나중에 그것에 대해 더 자세히. 성능을 향상시킨 다양한 여러 가지 트릭. 미니 배치 (실제로 최종 오류로 인해 해로운) 또는 회선 (실제로 수용 영역만큼 많은 차이를 포착하지는 않음)을 사용하지만 계산 속도는 더 빠릅니다.

한편 사람들은 주근깨가 있거나없는 더 마른 체형, 더 뚱뚱한, 키가 더 크거나 더 뚱뚱한 것을 좋아한다면 토론을하고있었습니다. 그리고 뉴턴 방법, 결국 그들은 모두 무료 점심 식사가 없다는 것을 깨달았습니다. 네트워크가 터지고있었습니다.

일이 느려지는 것은 사라지는 그라디언트 문제였습니다. 사람들은 이렇게 갔다. 간단히 말해 입력에 더 가까운 레이어의 오류를 조정하기가 어렵다는 것을 의미합니다. 케이크에 더 많은 층을 추가하면 너무 흔들 리게됩니다. 첫 번째 레이어에 의미있는 오류를 다시 전파 할 수 없습니다. 레이어가 많을수록 더 나빠집니다. 버머.

어떤 사람들은 교차 엔트로피를 손실 함수 (다시 말해서 분류 및 이미지 인식)로 사용하는 것이 일종의 정규화를 제공하고 네트워크가 포화되는 것을 방지하고 그라디언트가 잘 숨길 수 없다는 것을 알았습니다.

또한 가능한 것은 감독되지 않은 방법을 사용한 레이어 별 사전 훈련이었습니다. 기본적으로 많은 자동 인코더를 사용하고 압축 비율을 높이면 점점 더 적은 추상적 표현을 배울 수 있습니다. 이 네트워크의 가중치는 감독 된 버전을 초기화하는 데 사용되었습니다. 이것은 다른 방법으로 사라지는 그라디언트 문제를 해결했습니다. 당신은 이미 훨씬 나은 시작 위치에서 감독 훈련을 시작하고 있습니다. 그래서 다른 모든 네트워크가 일어나 반란을 일으켰습니다. 그러나 어쨌든 네트워크는 감독이 필요했습니다. 그렇지 않으면 빅 데이터를 계속 유지할 수 없었습니다.

마지막으로, 마지막으로 일종의 대답은 간단히 말해서 너무 복잡합니다. 왜 하나 이상의 레이어가 아닌 더 많은 레이어가 필요한가? 우리가 할 수 있기 때문에! 컨텍스트 및 불변의 기능 설명자 때문입니다. 그리고 수영장.

예를 들면 다음과 같습니다. 데이터 세트가 있습니다. 해당 데이터를 사용하여 계획 NN을 어떻게 훈련 할 예정입니까? 순진하게, 각 행을 말하고 하나의 긴 벡터로 연결하면 입력이됩니다. 무엇을 배우나요? 글쎄, 이미지의 객체가 포함하고 당신이 관련과 관련이없는 것을 구별 할 수없는 많은 유형의 분산으로 인해 아무것도 보이지 않는 퍼지 넌센스 함수. 그리고 어느 시점에서 네트워크는 새로운 것을 다시 배울 수 있다는 것을 잊어야합니다. 용량 문제가 있습니다. 이것은 더 비선형 역학이지만 직감은 네트워크에 더 많은 정보를 포함 할 수 있도록 뉴런 수를 늘려야한다는 것입니다.

요점은 이미지를 한 조각으로 입력하면 추상화 를 배울 수 없기 때문에 추가 레이어를 추가하면 너무 많은 일을하지 않는다는 것 입니다. 매우 중요합니다. 특정 유형의 객체에 중점을 두는 것과 같이 네트워크에서 더 간단한 작업을 수행하지 않는 한 전체적으로 일을 수행하는 것은 효과가 없습니다.

그래서 무엇을해야합니까? 화면 가장자리를보고이 텍스트를 읽으십시오. 문제? 멍청한 소리로, 읽고있는 것을보아야합니다. 그렇지 않으면 너무 흐릿합니다. / 해상도가 충분하지 않습니다. 초점 영역을 수용 필드라고합시다. 네트워크도 집중할 수 있어야합니다. 기본적으로 전체 이미지를 입력으로 사용하는 대신 이미지를 따라 슬라이딩 윈도우를 이동 한 다음 네트워크에 대한 입력으로 사용합니다 (인간보다 확률이 낮음). 이제 픽셀과 객체 사이의 상관 관계를 포착 할 수있는 기회가 있으며 소파에 앉아있는 졸린 고양이와 거꾸로 된 고양이 번지 점프를 구별 할 수도 있습니다. 깔끔하고 인류에 대한 믿음이 회복되었습니다. 네트워크는 여러 레벨의 이미지에서 로컬 추상화를 학습 할 수 있습니다. 네트워크는 필터를 배우고

따라서 수용 분야 / 회선, 감독되지 않은 초기화, 수정 된 선형 단위, 드롭 아웃 또는 기타 정규화 방법을 요약하면됩니다. 당신이 이것에 대해 매우 심각한 경우 당신이 Schmidhuber의 한 번 봐 걸릴 추천 신경망 깊은 학습 : 개요는 여기에 프리 프레스의 URL을 http://arxiv.org/abs/1404.7828

그리고 큰 학습, 딥 데이터를 기억하십시오. 워드.


안녕하세요 Florin, 좋은 답변 주셔서 감사합니다! 나는 쓰기 스타일을 좋아한다. 슬라이딩 윈도우에 대해 이야기 할 때, 컨볼 루션 NN의 컨볼 루션 레이어가 이미지의 다른 부분을 어떻게 관찰하고 더 작은 공간에 그 활성화를 투영 하는지를 참조하고 있습니까?
Nicolas

그렇습니다. 컨볼 루션은 필요하지 않지만 가중치가 제한되어 있기 때문에 계산 속도가 빠릅니다. 그들이 회선을 사용하지 않고 지역 수용 필드를 사용하는 곳 에서이 백서를 확인하십시오. 중요한 키워드는 지역적 / 계층 적입니다 : arxiv.org/pdf/1112.6209.pdf
shuriken x blue

또한 가장 가까운 체계적인 답변은 sobi의 것이라고 생각합니다. 그는 나의 공감대를 얻었다. 나는 약간의 소금과 후추로 여기 저기 몇 가지를 추가했습니다.
shuriken x blue

6

평신도 측면에서 고전 신경망 과의 주요 차이점 은 훨씬 더 숨겨진 레이어가 있다는 것입니다.

아이디어는 여러 계층의 추상화를 만들기 위해 레이블을 레이어에 추가하는 것입니다.

예를 들어 객체 인식을 위한 심층 신경망 :

  • 레이어 1 : 단일 픽셀
  • 레이어 2 : 가장자리
  • 레이어 3 : 형태 (원, 사각형)
  • 레이어 n : 전체 객체

Quora 에서이 질문에 대한 좋은 설명을 찾을 수 있습니다 .

이 주제에 관심이 있으시다면이 책을 보도록 반박하시기 바랍니다 .


1
고마워 데이비드,하지만 레이블을 추가하는 방법이 실제로 어떻게 다른지 알지 못합니다. 또한 신경망에서 함수가 어떻게 인코딩되었는지 이해하고 분해하는 것은 어려운 문제라는 것을 기억합니다. 더 많은 레이어를 갖는 것 이외의 것이 있어야합니다. 당신이 주신 예에 관해서는, 나는 당신이 각 과제를 수행하기 위해 개별적으로 (구식의) 신경망을 훈련시킬 수 있다고 믿습니다.
니콜라스

파이프 라인처럼 사용할 때 전력이 공급되므로 레이어의 입력 및 출력이 모든 레이어에서 스택됩니다.
David Gasquez

나는 좋은 리소스 인 quora와 se에 관한 첫 번째 링크를 읽었 지 만, 당신이 주신 예제는 내가 읽은 것과 정확하지 않은 것 같습니다. 나는 자신의 질문에 대답하고이 독서 결과를 요약하려고 노력할 것입니다.
니콜라스

2
지적 된 리소스가 흥미 롭더라도 현재 답변은 질문에 답변하지 않습니다.
Nicolas

레이어가 레이블이 붙은 예제를 가리킬 수 있습니까 (순전히 서술적인 방식이 아닌 경우)? 숨겨진 레이어가 각 숨겨진 레이어에서보다 복잡한 기능으로 나타나는 것은 사실이지만, "레이블 추가"는 해당 작업을 수행하도록 특별히 훈련 된 것으로 보입니다.
매트 크라우스

2

또한 신경망 (NN)과 딥 신경망 (DNN)의 차이로 인해 처음에는 약간 혼란 스러웠지만 '깊이'는 불행히도 매개 변수 및 레이어의 수만 나타냅니다. 소위 '캐나다 마피아'에서 일종의 리 브랜딩으로 사용할 수 있습니다.

몇 년 전, 나는 수업의 일환으로 신경망을 가지고 있었고, 숨겨진 계층과 출력이 여러 개인 NN을 사용하여 숫자 인식, 파도 근사 및 유사한 응용 프로그램을 수행했으며 DNN이 가지고있는 모든 재즈를 사용했습니다. 그러나 우리가 가지고 있지 않은 것은 컴퓨팅 능력이었습니다.

DNN으로의 전환이 가능하고 바람직한 이유는 하드웨어 개발의 발전 때문입니다. 간단히 말해 이제는 더 빠르고 더 빠르고 병렬화 된 (GPU의 DNN)을 계산할 수 있지만 이전에는 시간이 NN의 병목 현상이었습니다.

딥 러닝 Wikipedia의 페이지에서 언급 한 것처럼 '딥'부분은 대부분 여러 레이어에서 비선형 방식으로 상호 작용하여 기능 추출 및 변환을 수행하는 것을 말합니다. 이것은 또한 표준 NN에서도 이루어졌지만 더 작은 규모입니다.

같은 페이지에서, 여기 당신은 정의가 'A 깊은 신경망 (DNN)는 입력 및 출력 층 사이 단위의 복수 숨겨진 레이어 인공 신경망 (ANN)입니다.'


안녕하세요 Mttk, 귀하의 답변에 감사드립니다.이 질문에 더 많은 관심을 기울였습니다. 마지막 요점과 관련하여 그렇습니다. 구조는 차이 (1 대 다중 레이어)를 설명하는 것이 매우 쉽지만 이러한 다중 레이어 사용 방법의 차이는 중요하며 훨씬 덜 명확합니다. 그렇기 때문에 나는 구조에 관한 것이 아니라 질문에 집중했습니다.
Nicolas

솔직히, 하나의 숨겨진 레이어를 가진 ANN / NN이 실제로 효율적이지 않고 더 복잡한 예측을 위해 여러 개가 필요했기 때문에 내가 참조한 마지막 정의에 동의하지 않습니다 (DNN이 쓸모없는 유행어는 이미 좋은 용어에 추가되었습니다 (NN). NN과 DNN을 상호 교환 가능하게 사용할 수 있다고 생각합니다 (현재는 아무도 숨겨진 계층 NN을 사용하지 않기 때문에). 레이어 사용은 DNN 유형 (CNN, RBM, RNN, LSTM, CW-RNN 등)마다 다릅니다. DNN 자체의 아이디어가 아닙니다.
mttk

2

내가 아는 한, 오늘날 DNN (Deep Neural Network)은 기존 표준 신경망 (NN)과 근본적으로 또는 철학적으로 다른 점이 없습니다. 이론적으로 는 하나의 숨겨진 계층 있는 얕은 NN을 사용하여 임의의 NN을 근사 할 수 있지만, 이는 동일한 알고리즘과 훈련 데이터를 사용하여 훈련 할 때 두 네트워크가 유사하게 수행된다는 것을 의미하지는 않습니다. 실제로 딥 네트워크와 유사하게 얕은 네트워크를 훈련시키는 데 관심이 증가하고 있습니다. 그러나 이것이 수행되는 방법은 먼저 딥 네트워크를 훈련시킨 다음 얕은 네트워크를 모방 하여 훈련하는 것입니다.딥 네트워크의 최종 출력 (즉, 두 번째 계층의 출력) 딥 아키텍처를 유리하게 만드는 것은 뉴런이 계층 구조로 배치 될 때 오늘날의 훈련 기술 (역 전파)이 더 잘 작동한다는 것입니다.

또 다른 질문은 신경망 (특히 신경망)이 갑자기 인기를 얻은 이유입니다. 내가 이해하기에 최근 DNN을 인기있게 만든 마법의 재료는 다음과 같습니다.

A. 개선 된 데이터 세트 및 데이터 처리 기능

1. 수백만 가지의 다양한 이미지가 포함 된 대규모 데이터 세트를 사용할 수있게되었습니다

2. 빠른 GPU 구현이 공개되었습니다

B. 개선 된 교육 알고리즘 및 네트워크 아키텍처

1. S 자형 또는 tanh 대신 정류 선형 단위 (ReLU)

2. 딥 네트워크 아키텍처는 수년에 걸쳐 진화


A-1) 최소한 Computer Vision에서 최근까지만해도 수백만 개의 레이블이있는 이미지로 모델을 훈련 할 수 없었습니다. 해당 크기의 레이블이 지정된 데이터 세트가 존재하지 않기 때문입니다. 이미지 수 외에도 라벨 세트의 입도 (granularity)는 DNN의 성공에 매우 중요한 요소임이 밝혀졌습니다 ( Azizpour et al. 의이 논문의 그림 8 참조 ).

A-2) 실제적으로 잘 작동하는 DNN, 특히 GPU 구현의 출현을 훈련시킬 수있는 많은 엔지니어링 노력이있었습니다. DNN의 성공적인 GPU 구현 중 하나는 두 개의 병렬 GPU에서 실행됩니다. 그러나 고급 GPU를 사용하여 1000 개 범주의 120 만 이미지에 대해 DNN을 교육하는 데 약 일주일이 걸립니다 ( Krizhevsky 등 의이 백서 참조 ).

B-1) S 자형 및 탄 (tanh) 함수 대신 단순 Rectified Linear Units (ReLU)를 사용하는 것이 아마도 DNN 교육을 가능하게하는 가장 큰 빌딩 블록 일 것입니다. 시그 모이 드와 탄 함수는 낮은 활성화 레벨에서 높은 레벨로 얼마나 빨리 전달되는지에 따라 거의 모든 곳에서 거의 0의 기울기를 갖 습니다. 극단적 인 경우에, 천이가 갑자기 일어날 때, 우리 는 천이가 발생하는 한 지점을 제외하고 모든 곳 에서 경사도가 0 인 스텝 함수를 얻습니다 .

B-2) 신경망 구조가 수년에 걸쳐 어떻게 발전했는지에 대한 이야기는 진화가 자연의 유기체 구조를 어떻게 변화시키는지를 상기시켜줍니다. 매개 변수 공유 (예 : 컨볼 루션 레이어), 드롭 아웃 정규화, 초기화, 학습 속도 일정, 공간 풀링, 더 깊은 레이어의 서브 샘플링 및 DNN 교육에서 표준 으로 간주되는 많은 다른 트릭 이 개발, 진화 및 최종 맞춤화되었습니다. 수년간 딥 네트워크 교육을 오늘날과 같은 방식으로 가능하게합니다.


3
+1. 이 스레드의 첫 번째 답변은 OP의 질문에 대한 적절한 답변을 제공합니다. 여기에 많은 좋은 점이 있습니다. 필자의 유일한 의견은 A 및 B 외에도 C : 사용 가능한 교육 데이터 세트의 크기가 크게 증가한다는 것입니다. 이것은 A와 B 적어도 중요한 것 같다
아메바

1
나는 relu가 그렇게 중요하다고 생각하지 않는다. Alex krizhevsky 논문은 nn 학습이 최대 6 배 더 빠르다고 주장했다. 언급 한 다른 네트워크 구조의 대부분은 표준 이미지 처리 파이프 라인을 복사하는 컨볼 루션 nn과 관련이 있습니다 (좋은 일이지만 새로운 통찰력은 없음)
seanv507

1
@amoeba : 데이터 세트의 크기가 A 미만입니다. 강조 표시하기 위해 텍스트를 업데이트했습니다.
Sobi

@ seanv507 : 실제로 답을 쓸 때 컨볼 루션 네트워크 (ConvNets)를 염두에 두었습니다. 내가 놓친 다른 중요한 요소 (ConvNets와 관련이 없음)가 있다면 언급하면 ​​감사하겠습니다. 그에 따라 답변을 업데이트하게되어 기쁩니다. ReLU와 관련하여, 사라지는 그라디언트 문제로 인해 tanh 및 sigmoid로 nn을 훈련하는 것이 ReLU보다 상당히 어렵습니다. ) 포화
SOBI

2

"딥"NN과 표준 NN의 차이점은 순전히 질적입니다. "딥"의 의미에 대한 정의는 없습니다. "딥"은 50-80 개 이상의 레이어가있는 Google, Facebook 및 co에서 사용하는 매우 정교한 아키텍처에서 2 개의 숨겨진 레이어 (총 4 개의 레이어) 아키텍처까지 의미합니다. "심층"은 그다지 의미가 없기 때문에 단일 숨겨진 계층으로 딥 러닝을 수행한다고 주장하는 기사를 찾을 수 있다고해도 놀라지 않을 것입니다.

"신경망"은 매우 정확한 의미가없는 단어입니다. 임의의 볼트 즈맨 머신 (무 방향 그래프)에서 다양한 활성화 기능을 갖춘 피드 포워드 아키텍처에 이르기까지 매우 큰 모델 앙상블을 다룹니다. 대부분의 NN은 백프로 프를 사용하여 교육을받을 것이지만 교육 알고리즘도 균질하지 않아도되므로 반드시 그럴 필요는 없습니다.

전반적으로 딥 러닝, 딥 NN 및 NN은 모두 다양한 접근 방식을 포착하는 포괄적 인 단어가되었습니다.

"변경된 사항"에 대한 좋은 입문 참조 : 딥 러닝 표현 : 2013 년, Bengio는 미래에 대한 좋은 검토 + 관점입니다. 딥 넷은 실제로 딥이어야합니까?를 참조하십시오 . Ba & Caruana (2013)는 깊이 있는 것이 표현이 아니라 학습에 유용 할 수 있음을 보여줍니다 .


여러분이 제공 한 참고 자료는 매우 유용하지만 현재 형식의 나머지 답변 ( "NN은 아무것도 의미하지 않고 DNN은 아무것도 의미하지 않으며 NN과 DNN은 많은 일을 할 수 있습니다"으로 읽음)은 그리 많지 않습니다. 당신은 그것을 수정 고려?
Nicolas

1

David Gasquez의 답변을 확장하기 위해 심층 신경망과 전통적인 신경망의 주요 차이점 중 하나는 심층 신경망에 역 전파를 사용하지 않는다는 것입니다.

왜? 역전 파는 네트워크에서 이전과 이전에 갈수록 이전 계층을 학습하는 것보다 이후 계층을 더 효율적으로 학습하므로 오류가 더 작고 확산됩니다. 따라서 10 계층 네트워크는 기본적으로 7 계층의 임의 가중치와 3 계층의 가중치를 가지며 3 계층 네트워크와 마찬가지로 작동합니다. 자세한 내용은 여기 를 참조 하십시오 .

개념적으로 획기적인 방법은 별개의 문제 (라벨이 붙은 레이어)를 별개의 문제로 취급하는 것입니다. 먼저 좋은 첫 번째 레이어를 만드는 문제를 해결 한 다음, 일반적으로 좋은 두 번째 레이어를 만드는 문제를 해결하려고하면, 결국 우리는 실제 문제에 대처할 수있는 깊은 기능 공간을 갖게됩니다.


1

NN :

  • 하나의 숨겨진 레이어는 충분하지만 그럼에도 불구하고 왼쪽에서 오른쪽 순서로 여러 레이어를 가질 수 있습니다 (모델 : 피드 포워드 NN)
  • 감독 방식으로 만 훈련 (역 전파)
  • 여러 레이어를 사용하는 경우 모든 레이어를 동시에 학습 (같은 알고리즘 : 역 전파)하면 더 많은 레이어로 인해 오류가 너무 작아서 사용하기가 어렵습니다
  • 각 계층에서 배운 내용을 이해하기 어려움

DNN :

  • 다중 레이어가 필요하고 방향이 지정되지 않은 가장자리 (모델 : 제한된 boltzman 기계)
  • 네트워크는 입력을 재현하는 방법을 학습하여 관련 기능을 학습 한 다음 감독되지 않은 방식으로 학습 한 다음 분류하기 위해 기능을 세부적으로 조정하는 감독 방식으로 학습합니다.
  • 입력에서 출력 레이어까지 레이어를 하나씩 학습시킵니다 (알고리즘 : 대비 발산)
  • 각 계층에는 추상화 증가의 특징이 명확하게 포함되어 있습니다.

DNN으로의 전환은 2006 년에 발생한 3 가지 독립된 돌파구로 인해 발생합니다.

NN의 이론과 관련하여 질문이 제기하는 것은 다음과 같습니다.

  • 보편적 근사 정리 또는 Cybenko 정리 : 단일 숨겨진 계층을 가진 피드 포워드 신경망은 모든 연속 함수에 근사 할 수 있습니다. 그러나 실제로 단일 숨겨진 레이어를 사용하는 경우 훨씬 더 많은 뉴런이 필요할 수 있습니다.

2
-1? 정말? 나는이 모든 것을 문학에서 읽었으며 두 가지 접근 방식을 하나씩 비교했습니다! 적어도 무엇이 잘못되었는지
Nicolas

3
나는 downvote하지 않았을 것이다. DNN의 속성으로 나열한 것 : 가장자리가 방향이 지정되지 않고 처음에는 감독되지 않은 방식으로 훈련되고 레이어가 하나씩 훈련 됩니다.이 모두는 2006 년 Hinton이 제안한 심오한 네트워크 에만 해당됩니다 . 일반적으로 딥 뉴럴 네트워크에는 반드시 해당되며 실제로는 딥 네트워크를 훈련시키지 않는 많은 방법이 있습니다. 내 대답을 참조하십시오.
amoeba

1

O(n)

나는 당신이 뒤로 물러서서 AI가 얕은 인공 지능에서 부활을 겪었다는 것을 알 수 있다고 생각합니다. 아무도 단어의 가방이 언어의 진정한 모델이라고 말하지는 않지만 효과적인 엔지니어링 솔루션입니다. 따라서 DNN이 더 나은 '시각적 단어 모음'이라고 말하고 싶습니다 (예 : Szegedy et al. 2013 신경망의 흥미로운 속성 및 Nguyen et al. 심층 신경망을 쉽게 바보로 만들 수 있습니다 : 인식 할 수없는 이미지에 대한 높은 신뢰도 예측 높은 계층 구조 등 학습되지 않은 부분 (또는 DNN에 대해 주장 된 사항)이없는 것이 분명합니다.


@amoeba이 다른 논문은 처음에 거의 동반자 종이입니다 (이미지를 많이 다시!)
seanv507

0

딥 러닝은 머신 러닝에서 여러 비선형 변환 으로 구성된 아키텍처를 사용하여 데이터에서 높은 수준의 추상화를 모델링하려는 알고리즘 세트입니다 .

출처 : 아르노 칸델

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.