신경망과 심층 신경망의 차이점은 무엇이며 왜 심층 신경망이 더 잘 작동합니까?
On 12월 22, 2020 by admin이러한 용어로 정확하게 언급 된 질문을 보지 못해서 새로운 질문을 만드는 이유입니다.
내가 알고 싶은 것은 신경망의 정의가 아니라 심층 신경망과의 실제 차이점을 이해하는 것입니다.
더 많은 맥락 : 신경망이 무엇인지, 역 전파가 어떻게 작동하는지 알고 있습니다. DNN에는 여러 개의 은닉 계층이 있어야한다는 것을 알고 있습니다.하지만 10 년 전에 수업 시간에 여러 계층 또는 하나의 계층이 있다는 것을 배웠습니다. 입력 및 출력 레이어 계산)은 신경망이 표현할 수있는 기능 (Cybenko의 범용 근사 정리 참조)과 계층이 많을수록 성능 향상없이 분석하기가 더 복잡해졌습니다. 분명히 더 이상 그렇지 않습니다.
차이가 구조가 아닌 학습 알고리즘 및 속성 측면에서 발생하므로 답변이 DNN으로의 전환을 가능하게 한 이유를 강조 할 수 있다면 정말 감사하겠습니다. (예 : 수학적 증명 또는 네트워크에서 무작위로 플레이합니까?) 및 바람직한 (예 : 수렴 속도?)
댓글
- 참고 : 딥 러닝에 대한이 슬라이드는 얼마나 사실입니까?
- 근사하려는 함수가 구성 함수 (이미지 처리 및 여러 물리 법칙으로 인한 자연 영역). 심층 네트워크가이 구성 성을 활용하고 기하 급수적으로 더 적은 수의 뉴런으로 동일한 수준의 근사 오류를 달성 할 수 있음을 입증 할 수 있습니다 (단일 숨겨진 계층 네트워크에 비해). 참고 : Poggio, Tomaso, et al. ” 깊지 만 얕은 네트워크는 차원의 저주를 피할 수있는 이유와시기 : 리뷰. ” International Journal of Automation and Computing (2017)
- 이 도움말
- arxiv.org/pdf/2004.06093.pdf
답변
사소한 것부터 시작하겠습니다. 심층 신경망은 단순히 많은 숨겨진 레이어가있는 피드 포워드 네트워크입니다.
이것은 정의에 대해 말할 수있는 전부입니다. 신경망은 반복적이거나 피드 포워드 일 수 있습니다. 피드 포워드 네트워크는 그래프에 루프가 없으며 계층으로 구성 될 수 있습니다. “많은”계층이있는 경우 , 그런 다음 네트워크가 깊이 라고 말합니다.
네트워크가 딥 자격을 갖추기 위해 얼마나 많은 레이어를 가져야합니까? 이것에 대한 명확한 대답 (it “sa 얼마나 많은 곡물이 힙을 만드는지 ) 묻는 것과 비슷하지만 일반적으로 두 개 이상의 숨겨진 레이어가 있으면 깊이로 간주됩니다. 반대로, 숨겨진 레이어가 하나 뿐인 네트워크를 일반적으로 “얕은”이라고합니다. 나는 여기에서 약간의 인플레이션이 진행될 것이라고 생각하고, 10 년 안에 사람들은 10 층 이하의 모든 것이 얕고 유치원 운동에만 적합하다고 생각할 것입니다. 비공식적으로 “deep”은 네트워크가 처리하기 어렵다는 것을 나타냅니다.
다음은 여기에서 를 수정 한 그림입니다.
하지만 실제 질문은 물론 많은 레이어가 도움이되는 이유는 무엇입니까?
다소 놀라운 대답은 아무도 실제로 모른다는 것입니다. 아래에서 간략히 검토 할 몇 가지 일반적인 설명이 있지만 그 중 어느 것도 사실이라고 설득력있게 입증 된 적이 없으며 여러 레이어를 갖는 것이 정말 유익하다고 확신 할 수도 없습니다.
딥 러닝이 큰 인기를 끌고 있고, 매년 모든 기록 (이미지 인식, 바둑, 자동 번역 등)을 깨고 업계에서 사용하고 있기 때문에 놀랍습니다. . 그리고 우리는 이것이 왜 그렇게 잘 작동하는지 아주 확신하지 못합니다.
저는 2017 년에 나간 Goodfellow, Bengio, Courville의 Learning 책은 딥 러닝에 관한 책으로 널리 알려져 있습니다. (온라인에서 무료로 사용할 수 있습니다.) 관련 섹션은 6.4.1 Universal Approximation Properties and Depth 입니다.
당신이 작성한
10 년 전 수업 시간에 여러 계층 또는 하나의 계층 (입력 및 출력 계층을 계산하지 않음)을 갖는 것이 신경망이 나타낼 수있는 기능 측면에서 동일하다는 것을 배웠습니다. […]
당신은 다음에 의해 증명 된 소위 범용 근사 정리 를 참조해야합니다. Cybenko는 1989 년에, 1990 년대에는 다양한 사람들에 의해 일반화되었습니다. 기본적으로 얕은 신경망 (히든 레이어 1 개 포함)은 모든 기능에 근접 할 수 있습니다. 즉, 원칙적으로 무엇이든 학습 할 수 있습니다. 이것은 오늘날 대부분의 신경망이 사용하는 수정 된 선형 단위를 포함하여 다양한 비선형 활성화 함수에 해당됩니다 (이 결과에 대해 교과서는 Leshno et al. 1993 참조).
그렇다면 왜 모든 사람들이 딥넷을 사용합니까?
음, 순진한 대답은 그들이 더 잘 작동하기 때문입니다. 다음은 딥 러닝 책의 그림으로 특정 작업에 더 많은 계층을 포함하는 것이 도움이되지만 다양한 작업과 도메인에서 동일한 현상이 종종 관찰됩니다.
우리는 얕은 네트워크가 할 수 있음 em> 더 깊은 것만 큼 잘 수행합니다. 그러나 그렇지 않습니다. 그리고 그들은 보통 그렇지 않습니다. 질문은 — 왜? 가능한 답변 :
- 얕은 네트워크는 깊은 것보다 더 많은 뉴런이 필요할까요?
- 얕은 네트워크는 현재 알고리즘으로 훈련하기가 더 어려울 수 있습니다 (예 : 더 불쾌한 로컬 최소값 또는 수렴 속도가 느리거나 무엇이든)?
- 얕은 아키텍처는 일반적으로 해결하려는 문제에 맞지 않을 수 있습니다 (예 : 객체 인식은 본질적인 “심층” “, 계층 적 프로세스)?
- 다른 것이 있습니까?
딥 러닝 책은 중요 항목 # 1과 # 3을 주장합니다. 첫째, 얕은 네트워크의 단위 수가 작업 복잡성과 함께 기하 급수적으로 증가한다고 주장합니다. 따라서 유용하기 위해서는 얕은 네트워크가 매우 커야 할 수도 있습니다. 심층 네트워크보다 훨씬 더 클 수 있습니다. 이것은 얕은 네트워크가 경우에 따라 기하 급수적으로 많은 뉴런을 필요로한다는 것을 증명하는 여러 논문을 기반으로합니다. 하지만 예를 들어 MNIST 분류 나 바둑이 그런 경우는 정말 명확하지 않습니다. 둘째, 책은 다음과 같이 말합니다.
심층 모델을 선택하는 것은 우리가 배우고 자하는 기능이 몇 가지 더 간단한 기능의 구성을 포함해야한다는 매우 일반적인 믿음을 인코딩합니다. 이것은 표현 학습 관점에서 학습 문제가 다른 더 단순한 기본 변동 요인으로 설명 될 수있는 일련의 기본 변동 요인을 발견하는 것으로 구성되어 있다고 믿는 것으로 해석 될 수 있습니다.
현재의 “합의”는 “글 머리 기호 # 1과 # 3의 조합입니다. 실제 작업의 경우 딥 아키텍처는 종종 유익하고 얕은 아키텍처입니다. 비효율적이며 동일한 성능을 위해 더 많은 뉴런이 필요합니다.
하지만 입증 된 것은 아닙니다. 예를 들어 고려하십시오. Zagoruyko 및 Komodakis, 2016, Wide Residual Networks . 150 개 이상의 레이어가있는 잔여 네트워크 2015 년 에 등장했으며 다양한 이미지 인식 대회에서 우승했습니다. 이것은 큰 성공이었고 깊이를 선호하는 설득력있는 주장처럼 보였습니다. 다음은 잔여 네트워크 논문의 첫 번째 저자가 작성한 프레젠테이션 의 한 그림입니다 (여기에서 시간이 혼란 스러울 정도로 왼쪽으로 이동합니다).
그러나 위에 링크 된 논문은 “와이드 “16 개 레이어 만있는 잔여 네트워크는 150 개 이상의 레이어가있는”깊은 “레이어보다 성능이 우수합니다. 이것이 사실이면 위 그림의 전체 내용이 무너집니다.
또는 Ba and Caruana, 2014, Do Deep Nets Really Need to be 딥? :
이 백서에서는 얕은 그물이 딥 네트와 동일한 기능을 학습 할 수 있다는 경험적 증거를 제공합니다. 딥 네트와 동일한 수의 매개 변수를 가진 케이스. 먼저 최첨단 심층 모델을 학습 한 다음 심층 모델을 모방하기 위해 얕은 모델을 학습합니다. 모방 모델은 다음 섹션에서 설명하는 모델 압축 체계를 사용하여 학습됩니다. 놀랍게도, 모델 압축을 사용하면 얕은 그물이 원본에서 직접 훈련 될 때 이러한 얕은 그물이 깊은 그물만큼 정확하도록 훈련 할 수 없지만 일부 깊은 모델만큼 정확하도록 얕은 그물을 훈련 할 수 있습니다. 레이블이 지정된 훈련 데이터. 딥 네트와 동일한 수의 매개 변수를 가진 얕은 네트가 충실도가 높은 딥 네트를 모방하는 방법을 학습 할 수 있다면 해당 딥 네트에서 학습 한 기능이 실제로 딥일 필요는 없음이 분명합니다.
참이면 올바른 설명이 # 1 또는 # 3이 아니라 내 글 머리 기호 # 2임을 의미합니다.
내가 말했듯이- -아직 아무도 확실히 알지 못합니다.
마지막 설명
지난 ~ 10 년 동안의 딥 러닝은 정말 놀랍습니다.하지만이 진전의 대부분은 시행 착오를 통해 이루어졌고, 딥넷이 잘 작동하도록 정확히 무엇을 만드는지에 대한 기본적인 이해가 여전히 부족합니다. 사람들이 효과적인 딥 네트워크를 설정하는 데 중요하다고 생각하는 항목의 목록조차도 2 년마다 바뀌는 것 같습니다.
딥 러닝 르네상스는 2006 년 Geoffrey Hinton (신경 관련 작업을 수행 한 네트워크는 누구의 관심도없이 20 년 이상 동안) 딥 네트워크를 훈련하는 효과적인 방법을 제공하는 몇 가지 획기적인 논문을 발표했습니다 ( 과학 논문 , 신경 계산 논문 ). 요령은 경사 하강 법을 시작하기 전에 감독없는 사전 훈련 을 사용하는 것이 었습니다. 이 논문은 현장에 혁명을 일으켰고 몇 년 동안 사람들은 감독되지 않은 사전 교육이 핵심이라고 생각했습니다.
그 후 2010 년에 Martens는 심층 신경망이 2 차 방법 (소위 Hessian-free 방법이라고 함)으로 훈련 될 수 있고 사전 훈련으로 훈련 된 네트워크를 능가 할 수 있음을 보여주었습니다. 헤 시안없는 최적화를 통한 심층 학습 . 그런 다음 2013 년 Sutskever et al. 매우 영리한 트릭을 사용하는 확률 적 경사 하강 법이 Hessian없는 방법을 능가 할 수 있음을 보여주었습니다. 딥 러닝에서 초기화 및 추진력의 중요성 . 또한 2010 년경 사람들은 시그 모이 드 단위 대신 정류 된 선형 단위를 사용하면 경사 하강 법에 큰 차이가 있음을 깨달았습니다. Dropout은 2014 년에 나타났습니다. 잔여 네트워크는 2015 년에 나타났습니다. 사람들은 딥 네트워크를 훈련하기위한 점점 더 효과적인 방법을 계속 개발하고 있으며 10 년 전에는 핵심 통찰력처럼 보였던 것이 종종 고려됩니다. 오늘은 성가신 일입니다. 이 모든 것은 주로 시행 착오에 의해 이루어지며 어떤 일이 잘 작동하도록 만드는 요인과 다른 일에 대한 이해 가 거의 없습니다. 아니. 심층 네트워크를 훈련시키는 것은 큰 트릭과 같습니다. 성공적인 트릭은 일반적으로 사후에 합리화됩니다.
우리는 딥 네트워크가 성능 정체에 도달하는 이유를 알지 못합니다. 사람들이 지역 최소값을 비난하는 데 10 년 밖에 걸리지 않았지만 현재 생각은 이것이 핵심이 아니라는 것입니다. (성능이 정체 될 때 기울기는 크게 유지되는 경향이 있습니다.) 이것은 심층 네트워크에 대한 기본적인 질문이며 이 조차 모릅니다.
업데이트 : 이것은 Alchemy로서 기계 학습에 대한 Ali Rahimi의 NIPS 2017 이야기의 주제입니다. https://www.youtube.com/watch?v=Qi1Yry33TQE .
[이 답변은 2017 년 4 월에 완전히 재 작성되었으므로 일부 아래 댓글 중 더 이상 적용되지 않습니다.]
댓글
- 좋은 답변입니다! 1) @Nicolas도 언급했듯이 피드 포워드 신경 (feed-forward neural n)을 주장하는 정리 ( en.wikipedia.org/wiki/Universal_approximation_theorem )가 있음이 밝혀졌습니다. 단일 숨겨진 레이어 와 유한 한 수의 뉴런이있는 작업은 단위 하이퍼 큐브에서 DNN을 포함한 모든 연속 함수를 근사 할 수 있습니다. 이 결과는 활성화 기능의 선택과 무관하다고 주장됩니다. 2) 귀하의 마지막 발언 (즉, Hinton이 Google에 합류했다는 말)이 최근 DNN의 성공과 관련이 있는지 확실하지 않습니다. Hinton은 DNN이 유행 한 지 오래지 않아 Google에 합류했습니다.
- 우리는 ‘ 용어를 다르게 사용하고있을 수 있습니다. 퍼셉트론은 ‘ 숨겨진 레이어가 없습니다. 입력은 데이터이고 출력은 분류입니다. 다중 계층 네트워크는 계층 $ n-1 $의 출력이 계층 $ n $에 대한 입력을 형성하도록 함께 연결된 퍼셉트론의 무리로 구성됩니다. 따라서 단일 은닉 계층이있는 네트워크에는 3 개의 계층 (입력, 숨김, 출력)이 있습니다. 이 숨겨진 레이어는 보편적 근사화의 핵심입니다. 퍼셉트론은 XOR과 같은 것을 계산할 수는 없지만 ‘ 다층 네트워크는 계산할 수 있습니다.
- 선형성 두 가지 문제의 조합처럼 보입니다. 퍼셉트론은 선형 결정 경계 만 계산할 수 있으며 직선 만 그려 두 클래스를 나눌 수 있습니다. 다층 네트워크는 더 복잡한 경계를 ” 그릴 수 있습니다 “. 그러나 퍼셉트론이나 다층 네트워크는 다층 네트워크의 출력 계층을 제외하고 선형 활성화 함수를 사용하지 않습니다. 퍼셉트론 활성화 함수는 헤비 사이드 (x > 0이면 1, 그렇지 않으면 0)입니다. 다층 네트워크는 종종 시그 모이 드를 사용하지만 범용 근사값에 대한 제약 조건이 있습니다. 일정하지 않고 경계가 있으며 단조롭게 증가합니다.
- @amoeba 좋은 대답입니다. 처음의 사진은 나머지 부분을 읽는 데 방해가되었지만 최선을 다했습니다. 퍼셉트론은 분류를위한 선형 회귀의 대응 물입니다. 따라서 사람들이 온라인 (sgd) 방법 대신 폐쇄 형 솔루션 (의사 역)을 사용하여 문제를 해결할 때 ‘ 로지스틱 (시그 모이 드 함수) = 퍼셉트론으로 인해 로지스틱 회귀라고합니다. 퍼셉트론 / 로지스틱 회귀는 선형 결정 경계와 그 ‘ 만 ‘ 그리기 ‘ 할 수 있습니다. ‘가 선형이라고 불리는 이유입니다.
- 그러나 다중 레이어 퍼셉트론 (왼쪽 첫 번째 그림에서 그린 것)은 여러 선형 결정을 결합 할 수 있습니다. 경계 및 따라서 @Matt가 언급 한 (비선형) XOR 문제를 해결하기 위해 공간을 분할 할 수 있습니다. 따라서 많은 결합 된 선형 결정 경계가 예를 들어 눈을 찡그린 경우 원을 만들 수 있습니다. 그것은 당신이 그것에 대해 어떻게 생각 하느냐에 달려 있습니다. 결정은 더 높은 공간에서 여전히 선형 적입니다. 커널에 익숙하다면 그것은 ‘ 같은 것입니다.
답변
지금까지 좋은 답변입니다. 여기에서 아무도 언급하지 않은 몇 가지 사항이 있지만 여기에 내 0.02 $가 있습니다.
나는 이야기의 형태로 대답하겠습니다. 더 재미 있고 명확하게해야합니다. 여기에 tldr이 없습니다. 그 과정에서 그 차이가 무엇인지 이해할 수 있어야합니다.
DNN이 촉발 된 이유는 여러 가지가 있습니다 (모든 것이 비슷 하듯이 별도 정렬되어야합니다. 이는 바로 옳은 문제입니다. 장소, 적시 등).
한 가지 이유는 데이터의 가용성, 많은 데이터 (레이블이있는 데이터)입니다. “일반 사전”또는 “보편적 사전”과 같은 것을 일반화하고 학습 할 수 있기를 원하는 경우 “(일명 작업 / 애플리케이션간에 재사용 할 수있는 기본 빌딩 블록) 그러면 많은 데이터가 필요합니다. 그리고 야생 데이터는 제어 된 조명 등으로 실험실에서주의 깊게 기록 된 멸균 데이터 세트가 아닌 추가 할 수 있습니다. 기계적 Turk는이를 (레이블링) 가능하게했습니다.
둘째, GPU를 사용하여 더 큰 네트워크를 더 빠르게 훈련시킬 수있는 가능성으로 인해 실험이 더 빨라졌습니다. ReLU 유닛은 더 많은 유닛을 사용해야했기 때문에 계산 속도도 빨라졌으며 정규화를 제공했습니다. 이제 레이어가 더 희소했기 때문에 동일한 정보를 압축 할 수있는 하나의 레이어 e, 그래서 그것은 또한 중퇴와 함께 좋았습니다. 또한 여러 레이어를 쌓을 때 발생하는 중요한 문제를 해결했습니다. 나중에 그것에 대해 자세히 알아보십시오. 성능을 향상시킨 다양한 여러 트릭. 미니 배치 (실제로 최종 오류에 해로움) 또는 컨볼 루션 (실제로 로컬 수용 필드만큼 많은 분산을 캡처하지 않음)을 사용하는 것과 같지만 계산 속도가 더 빠릅니다.
그동안 사람들은 논쟁을 벌였습니다. 그들이 더 얇거나 더 통통하고, 더 작거나 더 크거나, 주근깨가 있든 없든, 등등을 좋아한다면. 최적화는 그것이 소름 끼치는 것과 같았거나 쾅하는 것 같았 기 때문에 연구는 켤레 기울기 및 뉴턴 방법과 같은 더 복잡한 훈련 방법으로 이동하고있었습니다. 공짜 점심이 없다는 것을 모두 깨달았습니다. 네트워크가 급증했습니다.
속도를 늦추는 것은 그라디언트 소멸 문제였습니다. 사람들은 다음과 같이했습니다. 워, 그게 멀었어요. 간단히 말해서 입력에 가까운 레이어의 오류를 조정하기 어렵다는 의미입니다. 케이크에 레이어를 더 추가하면 너무 흔들립니다. 그럴 수 없습니다. ” t 의미있는 오류를 첫 번째 계층으로 역 전파합니다. 레이어가 많을수록 악화됩니다. Bummer.
일부 사람들은 크로스 엔트로피를 손실 함수 (다시 말하지만 분류 및 이미지 인식)로 사용하면 일종의 정규화를 제공하고 네트워크가 포화 상태가되는 것을 막아서 기울기가 바뀌는 것을 방지한다는 사실을 알아 냈습니다. 그렇게 잘 숨길 수 없었습니다.
또한 일을 가능하게 한 것은 감독되지 않은 방법을 사용하는 레이어 별 사전 학습이었습니다. 기본적으로 자동 인코더를 많이 사용하고 점점 더 덜 추상적 인 표현을 배우게됩니다. 이러한 네트워크의 가중치는 감독 버전을 초기화하는 데 사용되었습니다. 이것은 다른 방식으로 사라지는 기울기 문제를 해결했습니다. 이미 훨씬 더 나은 시작 위치에서 감독 교육을 시작하고 있습니다. 그래서 다른 모든 네트워크가 일어나 반란을 일으키기 시작했습니다. 그러나 네트워크는 어쨌든 감독이 필요했습니다. 그렇지 않으면 빅 데이터를 그대로 유지하는 것이 불가능했습니다.
마지막으로 요약하기에는 너무 복잡한 답변으로 이어지는 마지막 부분 : 왜 하나가 아닌 더 많은 레이어. 우리가 할 수 있기 때문에! 컨텍스트 및 불변 기능 설명자 때문입니다. 그리고 풀.
여기에 이미지 데이터 세트가 있습니다. 그 데이터를 사용하여 계획 NN을 어떻게 훈련시킬 것입니까? 음, 순진하게 각 행을 말하고 당신은 그것을 하나의 긴 벡터로 연결하고 그것이 당신의 입력입니다. 무엇을 배우나요?글쎄, 이미지의 개체에 포함 된 많은 유형의 분산으로 인해 관련성이있는 것과 관련없는 것을 구별 할 수 없기 때문에 아무것도 보이지 않을 수있는 일부 퍼지 넌센스 함수입니다. 그리고 어느 시점에서 네트워크는 새로운 것을 다시 배울 수 있다는 것을 잊어 버려야합니다. 따라서 용량 문제가 있습니다. 이것은 더 비선형 역학이지만 네트워크에 더 많은 정보를 포함하려면 뉴런의 수를 늘려야한다는 것입니다.
요점은 이미지를 하나의 조각으로 입력하는 경우 추상화 를 배울 수 없기 때문에 레이어를 추가해도 큰 효과가 없습니다. 이는 매우 중요합니다. 따라서 “특정 유형의 객체에 초점을 맞추는 것과 같은 단순한 작업을 네트워크에서 수행하지 않는 한 전체 론적으로 작업을 수행하는 것은 잘 작동하지 않습니다. 따라서 자신을 하나의 클래스로 제한하고 일부 글로벌 속성을 분류 목표로 선택하십시오.
어떻게해야할까요? 화면 가장자리를보고이 텍스트를 읽으십시오. 문제? 어리석게 들리 겠지만, “읽고있는 내용을 살펴 봐야합니다. 그렇지 않으면 너무 흐릿하거나 해상도 / 세분성이 충분하지 않습니다. 초점 영역을 수용 필드”라고합시다. 네트워크도 집중할 수 있어야합니다. 기본적으로 전체 이미지를 입력으로 사용하는 대신 이미지를 따라 슬라이딩 창을 이동 한 다음이를 네트워크에 대한 입력으로 사용합니다 (사람이하는 것보다 약간 덜 확률 적입니다). 이제 픽셀과 객체 간의 상관 관계를 캡처 할 수 있으며 소파에 앉아 졸린 고양이와 거꾸로 된 고양이 번지 점프를 구분할 수도 있습니다. 인류에 대한 깔끔하고 믿음이 회복되었습니다. 네트워크는 여러 수준의 이미지에서 로컬 추상화를 학습 할 수 있습니다. 네트워크는 처음에는 단순한 필터 인 필터를 학습 한 다음이를 기반으로 더 복잡한 필터를 학습합니다.
그래서 요약하자면 수용 필드 / 컨볼 루션, 비지도 초기화, 수정 된 선형 단위, 드롭 아웃 또는 기타 정규화입니다. 행동 양식. 이 문제에 대해 “매우 진지하게 생각한다면 Schmidhuber의 Deep Learning in Neural Networks : An Overview here”url for the preprint http://arxiv.org/abs/1404.7828
빅 학습, 심층 데이터, Word를 기억하세요.
댓글
- 안녕하세요, Florin, 좋은 대답을 해주셔서 감사합니다. 저는 글쓰기 스타일을 좋아합니다. 슬라이딩 윈도우에 대해 말할 때, 컨볼 루션 NN의 컨볼 루션 레이어가 이미지와 프로젝트의 다른 부분을 관찰하는 방법을 언급하십니까? 더 낮은 차원의 공간에서 활성화?
- 예, 컨볼 루션은 필요하지 않지만 가중치가 제한되어 있으므로 ‘ 계산 속도가 더 빠릅니다. 컨볼 루션을 사용하지 않고 로컬 수용 필드를 사용하지 않는 ‘이 문서를 참조하세요. 중요한 키워드는 로컬 / 계층 적입니다. arxiv.org /pdf/1112.6209.pdf
- 또한 체계적인 대답은 sobi ‘입니다. 그는 ‘ 내 찬성표를 받았습니다. 여기저기서 약간의 소금과 후추로 몇 가지를 추가했습니다.
답변
In 평신도 용어, 고전적인 신경망 과의 주요 차이점은 훨씬 더 많은 숨겨진 레이어가 있다는 것입니다.
아이디어는 레이어에 레이블을 추가하여 여러 추상화 레이어를 만드는 것입니다.
예 : 객체 인식 을위한 심층 신경망 :
- 레이어 1 : 단일 픽셀
- 레이어 2 : 가장자리
- 레이어 3 : 형태 (원, 사각형)
- 레이어 n : 전체 개체
다음을 찾을 수 있습니다. Quora 의이 질문에 대한 좋은 설명입니다.
이 주제에 관심이 있으시면이 질문을 살펴 보시기 바랍니다. 책 .
댓글
- David에게 감사하지만 저는 ‘ 라벨을 추가하는 방법만으로는 다르게 만들 수 있습니다. 또한 신경망에 의해 함수가 인코딩되는 방식을 이해하고 분해하는 것이 어려운 문제였습니다. 더 많은 레이어를 갖는 것 외에 다른 것이 있어야합니다. 여러분이 준 예에 관해서는 각 작업을 수행하기 위해 개별적으로 (구식) 신경망을 훈련시킬 수 있다고 생각합니다.
- 파이프 라인처럼 사용할 때 힘이 발생하므로 입력과 출력이 모든 레이어의 레이어 스택에서.
- 좋은 리소스 인 첫 번째 링크와 quora 및 se에 대한 기타 관련 질문을 읽었지만 귀하가 제공 한 예가 제 내용과 정확하지 않은 것 같습니다. 읽다. 나는 ‘ 논문 읽기를 요약하여 내 질문에 답하려고 노력할 것입니다.
- 지적 된 자료가 흥미 롭긴하지만 현재 답변은 질문에 대한 답이 아닙니다.
- 순수한 설명이 아닌 레이어에 레이블이 지정된 예를 가리킬 수 있습니까?히든 레이어가 각 히든 레이어에서 연속적으로 더 복잡한 피처로 나타나는 것은 사실이지만 ” 라벨을 추가하면 ” ‘이를 위해 특별히 교육을 받았습니다.
li>
답변
NN :
- 숨겨진 레이어 하나면 충분하지만 그럼에도 불구하고 왼쪽에서 오른쪽 순서로 여러 레이어를 가질 수 있습니다 (모델 : 피드 포워드 NN)
- 감독 된 방식으로 만 훈련 됨 (역 전파 )
- 여러 레이어를 사용하는 경우 모든 레이어를 동시에 학습 (동일한 알고리즘 : 역 전파)하면 레이어가 많을수록 오류가 너무 작아 사용하기 어려워집니다.
- 각 레이어에서 학습 한 내용 이해
DNN :
- 다중 레이어가 필요하며 방향이 지정되지 않은 가장자리 (모델 : 제한된 볼트 만 머신)
- 처음에는 감독되지 않은 방식으로 훈련을 받았으며, 여기서 네트워크는 입력을 재현하는 방법을 학습하여 관련 기능을 학습합니다. , 그런 다음 분류를 위해 피처를 미세 조정하는 감독 방식으로 학습
- 입력에서 출력 레이어로 레이어를 하나씩 학습시킵니다 (알고리즘 : 대조 발산)
- 각 레이어를 명확하게 추상화를 증가시키는 기능을 포함합니다.
DNN으로의 전환은 2006 년에 발생한 3 개의 독립적 인 돌파구 때문입니다.
NN의 정리와 관련하여 질문이 암시하는 것은 다음과 같습니다. :
- 유니버설 근사 정리 또는 Cybenko 정리 : 단일 은닉층이있는 피드 포워드 신경망은 모든 연속 함수를 근사 할 수 있습니다. 그러나 실제로는 단일 히든 레이어를 사용하는 경우 훨씬 더 많은 뉴런이 필요할 수 있습니다.
댓글
- -1? 정말? 나는이 모든 것을 문헌에서 읽고 두 접근 방식을 하나씩 비교했습니다! 적어도 무엇이 정확하지 않은지 적어주세요 …
- 나는 반대표를 던지지 않았습니다 (아마도 반대표가 당신의 질문에 대답하는 것을 좋아하지 않았나요?하지만 여기에서는 물론 완벽하게 괜찮습니다). 완전히 정확하지 않은 것. DNN의 속성으로 나열하는 것 : 가장자리는 방향이 지정되지 않고 ‘ 처음에는 감독되지 않은 방식으로 학습되고, 레이어가 하나씩 학습된다는 것입니다. 힌튼이 2006 년에 제안한 딥 신념 네트워크 에. 이것은 일반적으로 딥 뉴럴 네트워크에 반드시 해당되는 것은 아니며, 사실이 모든 것없이 딥 네트워크를 훈련 할 수있는 많은 방법이 있습니다. 내 대답을 참조하십시오.
답변
저는 또한 처음에는 다음과 같은 차이로 인해 약간 혼란 스러웠습니다. 신경망 (NN)과 심층 신경망 (DNN)이 있지만 “깊이”는 매개 변수 & 레이어의 수만 나타냅니다. -소위 “캐나다 마피아”로 브랜드화.
몇 년 전에 저는 수업의 일부로 신경망을 가지고 있었고 NN을 사용하여 숫자 인식, 파동 근사 및 유사한 응용 프로그램을 수행했습니다. 여러 개의 숨겨진 레이어와 출력과 DNN이 가지고있는 모든 재즈가있었습니다. 그러나 그때 우리가 갖지 못한 것은 컴퓨팅 능력이었습니다.
DNN으로의 전환을 가능하고 바람직한 이유는 하드웨어 개발의 발전 때문입니다. 간단히 말해서, 이제 우리는 더 많이, 더 빠르고, 더 많이 컴퓨팅 할 수 있습니다. 병렬화 (GPU의 DNS), 이전에는 시간이 NN의 병목 현상이었습니다.
에 대한 Wikipedia 페이지에서 참조한대로 학습 에서 “깊은”부분은 주로 여러 계층에서 비선형 방식으로 기능이 상호 작용하여 기능 추출 및 변환을 수행하는 것을 말합니다. 이 작업은 표준 NN에서도 수행되었지만 소규모로 수행되었습니다.
같은 페이지에서 여기 에 정의가 있습니다. “딥 신경망 (DNN)은 입력 레이어와 출력 레이어 사이에 여러 개의 숨겨진 유닛 레이어가있는 인공 신경망 (ANN)입니다.”
댓글
- 안녕하세요 Mttk, 답변 해 주셔서 감사합니다.이 질문에 대해 더 많은 정보를 제공합니다. 마지막 요점에 관해서는 구조적 차이를 설명하기가 매우 쉽습니다 (1 대 여러 레이어). 이러한 여러 레이어를 사용하는 방법이 중요한 것 같고 훨씬 덜 명확합니다. 그래서 저는 구조가 아닌 질문에 집중했습니다.
- 솔직히 저는 동의하지 않습니다 ‘ 내가 참조한 마지막 정의에 동의하지 않습니다. 숨겨진 레이어가 하나 인 ANN / NN은 실제로 효율적이지 않으며 더 복잡한 예측을 위해 여러 개가 필요하기 때문입니다 (I ‘ m DNN이 쓸데없는 유행어라고 생각해서 이렇게 말 했어요 이미 좋은 용어, NN). NN과 DNN을 서로 바꿔서 사용할 수 있다고 생각합니다 (요즘에는 아무도 1 개의 숨겨진 레이어 NN ‘ s를 사용하지 않기 때문입니다). 반면 레이어 사용은 DNN 유형에 따라 다릅니다. ‘ (CNN, RBM, RNN, LSTM, CW-RNN, …)이며 DNN 자체의 개념이 아닙니다.
답변
내가 아는 한, 오늘날의 심층 신경망 (DNN)은 근본적으로 아무것도 없습니다. 또는 이전 표준 신경망 (NN)과 철학적으로 다릅니다. 이론적으로는 하나만 숨겨진 레이어가있는 얕은 NN을 사용하여 임의의 NN을 근사 할 수 있지만 그렇지 않습니다. 동일한 알고리즘과 훈련 데이터를 사용하여 훈련 될 때 두 네트워크가 비슷하게 수행된다는 것을 의미합니다. 실제로 딥 네트워크와 유사한 성능을 발휘하는 얕은 네트워크를 훈련하는 데 대한 관심이 증가하고 있습니다. 그러나 이것이 수행되는 방법은 먼저 딥 네트워크를 훈련시킨 다음 얕은 네트워크를 훈련시켜 딥 네트워크의 최종 출력 (즉, 두 번째 계층의 출력)을 모방 하는 것입니다. 딥 아키텍처를 유리하게 만드는 것은 오늘날의 훈련 기술 (역 전파)이 뉴런이 계층 구조로 배치 될 때 더 잘 작동한다는 것입니다.
질문 할 수있는 또 다른 질문은 왜 Neural인가입니다. 네트워크 (특히 DNS)가 갑자기 인기를 얻었습니다. 제가 이해하기에는 최근 DNN을 인기있게 만든 마법 요소는 다음과 같습니다.
A. 향상된 데이터 세트 및 데이터 처리 기능
1. 수백만 개의 다양한 이미지가 포함 된 대규모 데이터 세트 사용 가능
2. 빠른 GPU 구현이 공개적으로 제공되었습니다
B. 개선 된 학습 알고리즘 및 네트워크 아키텍처
1. sigmoid 또는 tanh 대신 ReLU (Rectified Linear Unit)
2. 수년에 걸쳐 진화 한 심층 네트워크 아키텍처
A-1) 아주 최근까지는 최소한 Computer Vision에서는 레이블이 지정된 수백만 개의 이미지로 모델을 학습시킬 수 없었습니다. 해당 크기의 레이블이 지정된 데이터 세트가 존재하지 않았기 때문입니다. 이미지 수 외에도 라벨 세트의 세분화도 DNN의 성공에 매우 중요한 요소입니다 (이 문서 a의 그림 8 참조 , Azizpour et al.).
A-2) 많은 엔지니어링 노력이 실제로 잘 작동하는 DNN, 특히 GPU 구현의 출현을 학습 할 수 있도록했습니다. DNN의 첫 번째 성공적인 GPU 구현 중 하나는 두 개의 병렬 GPU에서 실행됩니다. 그러나 고급 GPU를 사용하여 1000 개 범주의 120 만 이미지에 대해 DNN을 훈련하는 데는 약 1 주일이 걸립니다 (Krizhevsky 외의 이 문서 참조). .
B-1) 시그 모이 드 및 시그 모이 드 대신 간단한 ReLU (Rectified Linear Unit) 사용 tanh 함수는 아마도 DNN 훈련을 가능하게하는 가장 큰 빌딩 블록 일 것입니다. S 자 함수와 tanh 함수는 모두 낮은 활성화 수준에서 높은 수준으로 얼마나 빨리 전이하는지에 따라 모든 곳에서 거의 제로 그라디언트를 거의 가지고 있습니다. 극단적 인 경우 전환이 갑작스럽게 발생하면 전환이 발생하는 한 지점을 제외하고 모든 곳에서 기울기가 0 인 계단 함수를 얻습니다.
B-2) 수년에 걸쳐 신경망 아키텍처가 어떻게 발전했는지에 대한 이야기는 진화가 자연에서 유기체의 구조를 어떻게 변화시키는 지 상기시켜줍니다. 매개 변수 공유 ( 예 : 컨볼 루션 레이어), 드롭 아웃 정규화, 초기화, 학습률 일정, 공간 풀링, 심층 레이어의 하위 샘플링 및 DNN 교육에서 현재 표준 으로 간주되는 기타 많은 트릭이 개발, 진화, 딥 네트워크 교육을 오늘날과 같은 방식으로 가능하게하기 위해 수년에 걸쳐 맞춤화되었습니다.
댓글
- +1. 첫 번째 답변은 OP ‘의 질문에 대한 적절한 답변을 제공하는이 스레드입니다. 여기에 많은 좋은 점이 있습니다. 내 유일한 주요 의견은 A 및 B, C : 사용 가능한 교육 데이터 세트의 크기가 크게 증가했습니다. 이것은 적어도 A와 B만큼 중요한 것 같습니다.
- 나는 relu가 그렇게 중요하다고 생각하지 않습니다. Alex Krizhevsky 논문은 그것이 nn을 배웠다고 주장했습니다. 6 배 더 빠릅니다. 언급 한 다른 네트워크 구조 변경의 대부분은 표준 이미지 처리 파이프 라인을 복사하는 컨볼 루션 nns와 관련이 있습니다 (좋은 점이지만 새로운 통찰력은 없음)
- @amoeba : 데이터 세트의 크기는 A 미만입니다. 강조 표시하기 위해 텍스트를 업데이트했습니다.
- @ seanv507 : 실제로 답을 작성할 때 ConvNet (Convolutional Network)을 염두에 두었습니다. 내가 놓친 다른 중요한 요소 (ConvNet과 관련이 없음)가 있다면 언급 해 주시면 감사하겠습니다. 그에 따라 내 답변을 업데이트하게되어 기쁩니다.ReLU와 관련하여 tanh 및 sigmoid로 nns를 훈련하는 것은 그라디언트가 사라지는 문제로 인해 ReLU보다 상당히 어렵습니다. 단위는 쉽게 포화되며, 일단 발생하면 다시 불포화되는 데 오랜 시간이 걸립니다 (단위가 포화 상태)
답변
“Deep”NN과 표준 NN의 차이는 순전히 질적입니다. “Deep”이 의미하는 바에 대한 정의가 없습니다. “Deep”은 50-80 개 이상의 레이어가있는 Google, Facebook 및 공동에서 사용하는 매우 정교한 아키텍처에서 2 개의 숨겨진 레이어 (총 4 개의 레이어) 아키텍처에 이르기까지 모든 것을 의미 할 수 있습니다. “딥”은 그다지 의미가 없기 때문에 단일 히든 레이어로 딥 러닝을 수행한다고 주장하는 기사를 찾을 수 있다고해도 놀라지 않을 것입니다.
“신경망”은 의미가없는 단어이기도합니다. “매우 정확한 의미가 없습니다. 임의의 boltzman 기계 (무 방향 그래프)에서 다양한 활성화 기능이있는 피드 포워드 아키텍처에 이르기까지 매우 큰 모델 앙상블을 포함합니다. 대부분의 NN은 역 전파를 사용하여 훈련되지만 반드시 그럴 필요는 없습니다.” 따라서 훈련 알고리즘조차도 “그다지 동 질적이지 않습니다.
전체적으로 딥 러닝, 딥 NN 및 NN은 모두 다양한 접근 방식을 포착하는 포괄 단어가되었습니다.
“변경된 사항”에 대한 좋은 소개 참조 : 표현에 대한 심층 학습 : 기대 , Bengio, 2013은 좋은 리뷰와 미래에 대한 관점입니다. 또한 다음을 참조하십시오. 딥넷은 정말 딥이 필요합니까? Ba & Caruana, 2013 년 깊이있는 것은 표현이 아니라 학습에 유용하지 할 수 있습니다 .
댓글
- 참고 자료는 매우 유용합니다. ,하지만 현재 형식의 나머지 답변 (“로 읽는 NN은 아무 의미도없고 DNN은 아무 의미도 없으며 NN 및 DNN은 많은 작업을 수행 할 수 있습니다. “)별로 수정하지 않겠습니까?
답변
David Gasquez의 답변을 확장하기 위해 심층 신경망과 기존 신경망의 주요 차이점 중 하나는 심층 신경망에 역 전파를 사용하지 않는다는 것입니다.
왜? 역전 파는 이전 계층을 훈련하는 것보다 이후 계층을 더 효율적으로 훈련시키기 때문에 네트워크에서 더 일찍 또는 더 일찍 갈수록 오류가 더 작아지고 확산됩니다. 따라서 10 계층 네트워크는 기본적으로 7 계층의 임의 가중치에 이어 3 계층의 적합 가중치로 구성되며 3 계층 네트워크도 마찬가지입니다. 자세한 내용은 여기 를 참조하세요.
개념적 돌파구는 별도의 문제 (레이블이있는 레이어)를 별도의 문제로 취급하는 것입니다. 일반적으로 좋은 첫 번째 레이어를 구축하는 문제를 해결 한 다음 일반적으로 좋은 두 번째 레이어를 구축하는 문제를 해결하려고 시도하면 결국 실제 문제에 제공 할 수있는 깊은 피처 공간을 갖게됩니다.
답변
NN과 DNN 사이에 큰 철학적 차이가 있다고 말하고 싶지 않습니다 (사실 DNN은 마케팅에 불과하다고 “실패한”NN과 구별하기위한 용어). 변경된 것은 데이터 세트의 크기입니다. 본질적으로 신경망은 현재 최고의 $ O (n) $ 통계 추정기이며, 고차원의 대규모 데이터 세트 (예 : imagenet)에서 잘 작동합니다.
물러나서 이것이 다시 부활했음을 확인해야한다고 생각합니다. 얕은 AI-예 감정 분석 및 기타 언어 응용 프로그램을위한 단어 모음과 시각적 단어 모음이 DNN 이전의 이미지 인식 접근 방식을 주도했습니다. 단어 가방이 진정한 언어 모델이라고 말하는 사람은 없지만 효과적인 엔지니어링 솔루션입니다. 그래서 저는 DNN이 더 나은 “시각적 단어 가방”이라고 말하고 싶습니다. Szegedy et al. 2013 신경망의 흥미로운 속성 및 Nguyen et al. 심층 신경망은 쉽게 속일 수 있습니다 : 인식 할 수없는 이미지에 대한 높은 신뢰도 예측 여기서 학습되는 고차원 구조 등이 없음 (또는 DNN).
댓글
- @amoeba이 다른 논문은 첫 번째 논문과 거의 동행 논문입니다 (다시 말하지만 많은 이미지가 있습니다!)
답변
문제의 분류 문제는 $ [0,1-2 ^ {-k}] 간격을 고려하는 n- 교대점 문제입니다. $ 입력 $ x_i $ 가 $ 2 ^ k $ 의 균일하게 분산 된 지점이되도록 해당 간격과 해당 $ y_i $ 는 pan class = “인 경우 $ y_i = 1 $ 에 의해 제공됩니다. “math-container”> $ i $ 는 홀수이고 $ i $이면 $ y_i = 0 $ 입니다. 은 짝수입니다. 그런 다음 각 레이어에 노드가 두 개 뿐인 딥 네트워크와 비교하여 지수 폭이없는 얕은 네트워크가이 관계를 얼마나 잘 포착 할 수 있는지 묻습니다. 기본적으로 선형 ( $ k $ )의 레이어 수가 각 레이어에 노드가 2 개 뿐인 반면, 기하 급수적으로 많은 레이어가 필요합니다 ( $ k $ ) 노드를 사용하여 얕은 네트워크에서 동일한 결과를 얻습니다.
인용의 증거는 아핀 변환에 적용된 비선형 활성화의 구성 (즉, 더 많은 수의 레이어)이 동일한 함수를 합산하는 것보다 데이터에서 더 많은 변동성을 포착 할 수 있다는 점에 주목하는 것입니다. 레이어에 노드를 추가 할 때).
답변
딥 러닝은 다음과 같은 기계 학습의 알고리즘 집합입니다. 다중 비선형 변환 으로 구성된 아키텍처를 사용하여 데이터에서 높은 수준의 추상화를 모델링하려고합니다.
출처 : 아르노 칸델
답글 남기기