정규화로 인해 데이터에 대한 Deep Neural Nets 기아가 해결되지 않는 이유는 무엇입니까?


37

일반적으로 Neural Networks 및 Deep Neural Networks와 관련하여 자주 제기되는 문제는 "데이터가 배고프다"는 것입니다. 즉, 큰 데이터 세트가 없으면 제대로 수행되지 않습니다. 네트워크 훈련을 위해

내 이해는 이것이 NNets, 특히 Deep NNets가 많은 자유도를 가지고 있기 때문입니다. 따라서 모델로서 NNet에는 매우 많은 수의 매개 변수가 있으며, 모델의 매개 변수 수가 훈련 데이터 포인트 수에 비해 많으면 오 버핏 경향이 증가합니다.

그러나 왜이 문제가 정규화로 해결되지 않습니까? 내가 아는 한 NNets는 L1 및 L2 정규화를 사용할 수 있으며 드롭 아웃과 같은 자체 정규화 방법을 사용하여 네트워크의 매개 변수 수를 줄일 수 있습니다.

우리는 정규화 방법을 선택하여 파시 모니를 적용하고 네트워크의 크기를 제한 할 수 있습니까?


내 생각을 명확히하기 위해 : 큰 Deep NNet을 사용하여 데이터를 모델링하려고하지만 데이터 세트가 작고 실제로 선형 모델로 모델링 할 수 있다고 가정 해보십시오. 그렇다면 왜 하나의 뉴런이 선형 회귀를 시뮬레이션하고 다른 모든 것이 0으로 수렴하는 방식으로 네트워크 가중치가 수렴하지 않습니까? 정규화가 왜 도움이되지 않습니까?


7
"왜 하나의 뉴런이 선형 회귀를 시뮬레이션하고 다른 모든 것이 0으로 수렴하는 방식으로 네트워크 가중치가 수렴하지 않습니까? 왜 정규화가 이것에 도움이되지 않습니까?" 나는 이것이 정말로 흥미로운 논문이 될 것이라고 생각한다. 그 네트워크와 문제를 구축 한 다음 어떤 일이 발생하는지 평가한다.
Monica Monica 복원

음, 정규화 할 때에도 나중에 네트워크의 더 깊은 계층에서 그라디언트를 감소시키는 문제가 있습니다. 이것이 사람들이 배치 정규화를 사용하여 효과적으로 설명하는 이유입니다. LSTM과 같은 다른 접근법도 이미이를 설명하고 있으며, 중퇴를 제거하는 데 도움이 될 수있는 것들이 있습니다.
Benjamin Gruenbaum


@ cliffab이 아래에 답변했듯이 정규화는 성능을 향상시키는 데 필요한 것이 아닙니다. 간단히 말해서, 회전 된 고양이 이미지의 무리는 정규화 된 단일 고양이 이미지와 동일하지 않습니다.
seanv507

1
전혀 놀라지 않습니다. 내가 직장에서 다루는 시계열의 종류와 함께 나는 아직도 오래된 skool 시계열 방법을 능가하는 방법을 찾지 못했지만 계속 노력하고있다 :)
Aksakal

답변:


43

이를 설명하는 간단한 방법은 정규화가 노이즈에 맞지 않는 데 도움이되고 신호의 형태를 결정하는 데 큰 도움이되지 않는다는 것입니다. 딥 러닝을 거대한 영광스러운 함수 근사기로 생각하면 복잡한 신호의 모양을 정의하기 위해 많은 데이터가 필요하다는 것을 알 수 있습니다.

잡음이 없으면 NN의 복잡성이 증가하면 더 나은 근사값을 얻을 수 있습니다. NN의 크기에 어떤 형벌도 없을 것입니다. 모든 경우에 더 클 것입니다. 테일러 근사를 고려하면, 비 다항식 함수 (숫자 정밀도 문제 무시)에 대해 더 많은 항이 항상 좋습니다.

노이즈가 발생하기 시작하면 노이즈가 발생하면 분해됩니다. 따라서 여기에 도움이되는 정규화가 있습니다 . 노이즈에 대한 피팅을 줄일 수 있으므로 비선형 문제에 맞게 더 큰 NN을 구축 할 수 있습니다.

다음 토론은 내 대답에 필수적인 것은 아니지만 일부 의견에 답변하고 위 답변의 본문에 동기를 부여하기 위해 부분적으로 추가했습니다. 기본적으로 내 대답의 나머지 부분은 버거 식사와 함께 제공되는 프랑스 화재와 같습니다. 건너 뛸 수 있습니다.

(Ir) 관련 사례 : 다항식 회귀

다항식 회귀 분석의 장난감 예를 살펴 보겠습니다. 또한 많은 기능을위한 꽤 좋은 근사치입니다. 영역 의 함수를 살펴 보겠습니다 . 아래의 Taylor 시리즈에서 볼 수 있듯이 7 차 확장은 이미 꽤 적합하므로 7+ 다항식도 매우 잘 맞을 것으로 예상 할 수 있습니다.x ( 3 , 3 )sin(x)x(3,3)

여기에 이미지 설명을 입력하십시오

다음으로, 우리는 다항식을 점진적으로 높은 차수를 7 개의 관측치가있는 작은 잡음이 많은 데이터 세트에 맞추겠습니다.

여기에 이미지 설명을 입력하십시오

우리는 알고있는 많은 사람들이 다항식에 대해 들었던 것을 관찰 할 수 있습니다. 불안정하고 다항식의 순서가 증가함에 따라 격렬하게 진동하기 시작합니다.

그러나 문제는 다항식 자체가 아닙니다. 문제는 소음입니다. 다항식을 노이즈가 많은 데이터에 맞추면 신호의 일부가 아닌 노이즈에 적합합니다. 다음은 동일한 데이터 세트에 맞는 정확한 다항식이지만 노이즈가 완전히 제거 된 것입니다. 착용감이 좋습니다!

순서 6에 시각적으로 완벽하게 맞습니다. 순서 6 다항식을 고유하게 식별하기 위해 7 개의 관측치 만 있으면되므로 놀랍지 않습니다. 위의 Taylor 근사도에서 6이 이미 데이터 범위에서.sin(x)

여기에 이미지 설명을 입력하십시오

또한 고차 다항식은이를 정의하기위한 관측치가 충분하지 않기 때문에 차수 6뿐만 아니라 적합하지 않습니다. 100 개의 관측치가 어떻게되는지 봅시다. 아래 차트에서 더 큰 데이터 세트를 사용하여 고차 다항식에 적합하게하여 더 나은 적합도를 달성하는 방법을 확인하십시오!

여기에 이미지 설명을 입력하십시오

대단하지만 문제는 일반적으로 노이즈가 많은 데이터를 처리한다는 것입니다. 매우 시끄러운 데이터를 100 번 관찰 한 결과와 동일한 경우 어떻게되는지 확인하십시오 (아래 차트 참조). 고차 다항식은 끔찍한 진동 피팅을 생성합니다. 따라서 데이터 세트를 늘리는 것이 데이터를 더 잘 설명하기 위해 모델의 복잡성을 증가시키는 데 큰 도움이되지 않았습니다. 이것은 복잡한 모델이 신호의 모양뿐만 아니라 노이즈의 모양에도 더 잘 맞기 때문입니다.

여기에 이미지 설명을 입력하십시오

마지막으로,이 문제에 대해 약간의 규칙적인 정규화를 시도해 봅시다. 아래 차트는 9 개의 다항식 회귀 분석에 적용되는 정규화 (서로 다른 벌칙을 가짐)를 보여줍니다. 이것을 9 다항식 적합 차수와 비교해보십시오. 적당한 수준의 정규화에서 고차 다항식을 시끄러운 데이터에 맞추는 것이 가능합니다.

여기에 이미지 설명을 입력하십시오

분명하지 않은 경우 : 나는 다항식 회귀를 이런 식으로 사용하지 않는 것이 좋습니다. 다항식은 부분 적합에 적합하므로 조각 별 다항식을 선택하는 것이 좋습니다. 그것들을 전체 영역에 맞추는 것은 종종 나쁜 생각입니다. 왜냐하면 그것들은 실제로 위의 플롯에서 분명해야하기 때문에 노이즈에 민감하기 때문입니다. 노이즈가 수치인지 다른 소스에서 나오는지 여부는 이와 관련하여 중요하지 않습니다. 소음은 소음이며 다항식은 열정적으로 반응합니다.


8
또한 데이터 세트가 작을 때 노이즈와 노이즈가없는 것을 구분하기가 매우 어렵습니다.
Alex R.

3
실제로 정규화를 통해 과적 합없이 더 큰 NN 을 가질 수 있습니다
Aksakal

6
@Alex-왜 더 간단한 모델이 기본값입니까? 복잡성을 올림으로써 여전히 적합 할 수있는 설명 할 수없는 가변성이 있습니다! 그리고 ... 목표는 설명 할 수없는 변동성을 최대한 줄이는 것입니다. 그렇지 않은 경우 NN은 기본적으로 가능한 가장 간단한 모델, 즉 "0"을 사용합니다. 그러나 Aksakal이 작성한 것처럼 NN은 설명 할 수없는 데이터의 변동성을 점점 더 많이 줄이므로 설명 할 수없는 가변성, 즉 과적 합에 적합하기 때문에 정규화의 필요성이 있습니다.
jbowman

2
또 다른 것은 : 사람 투표 행동이나 근본적으로 예측하기 어려운 건강 결과와 같이 모델링하는 기본 프로세스에 노이즈가 있다고 가정합니다. 또한 모든 종류의 측정 오류와 선택 바이어스가 데이터에 수수께끼가 있다고 가정하십시오. 이러한 높은 잡음 대 신호 환경에서는 정규화를 사용하는 단순한 모델을 선호 할뿐입니다. 나는 모든 정규화 노력에도 불구하고 많은 노이즈를 정확하게 측정하지 않도록 데이터를 적게 선호 할 수도 있습니다.
Brash Equilibrium

2
@BrashEquilibrium-훌륭한 포인트. 우리는 150 개가 넘는 기능을 갖춘 그래디언트 부스팅 머신을 사용하여 대규모 예측을 수행하고 있으며, 그 중 상당수는 노이즈 수준이 높지만 (예측 품질은 여전히 ​​향상됨) GBM이 훈련 할 데이터의 20 %를 제공함을 발견했습니다. 다른 모든 정규화 메커니즘을 적용하더라도 50 % 이상을 제공하는 것보다 더 나은 예측 결과를 얻을 수 있습니다.
jbowman 1

7

이 시점에서 특정 정규화 방법이 언제, 왜 실패했는지 잘 이해하지 못했습니다. 실제로, 왜 딥 러닝이 처음부터 효과가 있는지 전혀 이해하지 못했습니다.

충분히 깊은 신경망이 가장 잘 동작하는 훈련 데이터를 완벽하게 기억할 수 있다는 사실을 고려할 때, 특정 깊은 그물에 대한 것보다 훨씬 더 잘못된 해결책이 있습니다. 일반적으로 정규화는 이러한 "잘못된"솔루션에 대한 모델의 표현성을 제한하려는 시도입니다. 여기서 "잘못된"은 휴리스틱에 의해 정의되며 특정 영역에 중요하다고 생각 합니다 . 그러나 종종 "올바른"표현성을 잃지 않도록 휴리스틱을 정의하기가 어렵습니다. 이에 대한 좋은 예는 L2 처벌입니다.

정규화의 형태로 간주되는 방법은 ML의 모든 응용 분야에 일반적으로 적용 할 수있는 방법이 거의 없습니다. 비전, NLP 및 구조적 예측 문제는 모두 특정 영역에 대해 실험적으로 효과적인 것으로 입증 된 정규화 기술에 대한 자체 요리 책을 가지고 있습니다. 그러나 이러한 영역 내에서도 이러한 기술은 특정 상황에서만 효과적입니다. 예를 들어, 심층 잔차 네트워크에서의 배치 정규화는 둘 다 일반화를 독립적으로 개선하는 것으로 나타났음에도 불구하고 드롭 아웃이 중복되는 것으로 보입니다.

별도의 메모에서, 정규화라는 용어가 너무 광범위해서 그것에 대해 이해하기가 어렵다고 생각합니다. 컨볼 루션이 픽셀과 관련하여 매개 변수 공간을 기하 급수적으로 제한한다는 사실을 고려하면 컨볼 루션 신경망을 바닐라 신경망에서 정규화하는 형식으로 간주 할 수 있습니다.


첫 번째 단락에 동의하는지 확실하지 않습니다.
Ander Biguri

3
500 자에 대해 이야기하기는 어렵지만 세계 최고의 연구원들은 SGD의 성공이 잘 이해되지 않았다고 주장합니다. 예를 들어 OpenAI의 Ilya S.를 youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin

실제 그물보다 다항식 근사로 추론하기가 더 쉬운 이유 일 것입니다.
P-Gn

3

왜이 문제가 근본적인지를 보여주는 하나의 이론 정리는 무료 점심 식사 정리 입니다. 특정 정규화가 도움이되는 제한된 샘플의 모든 문제에 대해 동일한 정규화로 인해 문제가 악화되는 또 다른 문제가 있습니다. Austin이 지적했듯이, L1 / L2 정규화는 많은 실제 문제에 도움이된다는 것을 알지만, 이는 단지 관측 일 뿐이며 NFL 이론으로 인해 일반적인 보장은 없습니다.


3

높은 수준에서 DNN (심층 신경망)의 유도 적 바이어스는 강력하지만 약간 느슨하거나 충분히 판단되지 않았다고 말할 수 있습니다. 그것은 DNN이 무슨 일이 일어나고 있는지에 대한 많은 표면 통계를 포착하지만 더 깊은 인과 / 조성 높은 수준의 구조에 도달하지 못한다는 것을 의미합니다. 컨볼 루션을 가난한 사람의 유도 바이어스 사양으로 볼 수 있습니다.

또한 머신 러닝 커뮤니티에서 일반화하는 가장 좋은 방법 (데이터가 거의없는 것으로 추론 / 예측하는 것)은 데이터를 발생시킨 가장 짧은 프로그램을 찾는 것입니다. 그러나 프로그램 유도 / 합성은 어렵고 효율적으로 수행 할 수있는 좋은 방법이 없습니다. 대신 우리는 회로 검색 인 근접 근사에 의존하며 역 전파를 통해 어떻게 수행하는지 알고 있습니다. 여기서 Ilya Sutskever는 그 아이디어에 대한 개요를 제공합니다.


실제 프로그램과 딥 러닝 모델로 표현 된 모델의 일반화 능력의 차이를 설명하기 위해이 백서 에서 실제 장면 이해의 엔진으로서의 시뮬레이션을 보여 드리겠습니다 .

여기에 이미지 설명을 입력하십시오

(A) IPE [직관 물리 엔진] 모델은 장면에 대한 분포를 인스턴스화하는 입력 (예 : 인식, 언어, 메모리, 이미지 등)을 취한 다음 분포에 대한 물리 효과를 시뮬레이션합니다 (2). 그런 다음 다른 감각 운동 및인지 기능에 대한 결과를 집계합니다 (3).

여기에 이미지 설명을 입력하십시오

(B) 경험치 1 (타락 할까?) 탑 자극. 빨간 경계를 가진 탑은 실제로 미묘하게 균형을 이루고, 다른 두 탑은 같은 높이이지만, 파란 경계를 가진 탑은 모델과 사람들에 의해 떨어질 가능성이 훨씬 적습니다.

(C) Exp.의 확률 적 IPE 모델 (x 축) 대 인간 판단 평균 (y 축) σ와 ϕ의 다른 값에 대한 상관 관계는 그림 S3을 참조하십시오. 각 점은 하나의 타워 (SEM 포함)를 나타내며 3 개의 원은 B의 3 개의 타워에 해당합니다.

(D) 근거 진리 (비 확률 적) 대 인간 판단 (실험 1). 불확실성을 나타내지 않기 때문에 B의 빨간색 경계 탑과 같은 여러 자극에 대한 사람들의 판단을 포착 할 수 없습니다 (이 경우는 구성 이보다 명확하게 안정되거나 불안정하고 IPE는 우리의 자극보다 실제 진실과 더 잘 연관 될 것으로 예상됩니다.)

여기서의 요점은 모델이 인간이 신체적 판단을 내리는 방법에 대한 올바른 편향을 포착하기 때문에 C에 적합하다는 것이 정말 좋습니다. 이 모델은 실제 물리학 (이 기억하기 때문에 큰 부분에 있다 실제 물리 엔진)과 불확실성을 처리 할 수 있습니다.

이제 분명한 질문은 : 딥 러닝으로 그렇게 할 수 있습니까? 이것이 Lerer 등이이 작업에서 한 것입니다 : 예를 통해 블록 타워의 물리적 직관 학습

그들의 모델 : 여기에 이미지 설명을 입력하십시오

그들의 모델은 실제로 당면한 과제에 매우 능숙합니다 (하락 블록 수 및 하강 방향 예측)

여기에 이미지 설명을 입력하십시오

그러나 두 가지 주요 단점이 있습니다.

  • 제대로 훈련하려면 엄청난 양의 데이터가 필요합니다
  • 일반적으로 얕은 방식으로 만 일반화됩니다.보다 사실적인 이미지로 전송하거나 1 개 또는 2 개의 블록을 추가 또는 제거 할 수 있습니다. 그러나 그 이상이면 성능이 치명적으로 떨어집니다 .3 또는 4 블록을 추가하고 예측 작업을 변경하십시오 ...

Tenenbaum의 실험실에서이 두 가지 접근 방식에 대한 비교 연구가있었습니다 : 인간의 물리적 장면 이해의 설명으로서 대략적인 확률 시뮬레이션과 심층 신경망의 비교 평가 .

토론 섹션 인용 :

교육 데이터가 적을수록 CNN의 성능이 저하됩니다. 사전 훈련되지 않은 AlexNet은 200,000 개의 훈련 이미지에서 더 잘 수행되지만 데이터 부족으로 인해 더 많은 어려움을 겪는 반면 사전 훈련 된 AlexNet은 적은 양의 훈련 이미지에서 더 잘 배울 수 있습니다. 우리의 작업을 위해 두 모델 모두 성능이 IPE 모델 및 인간과 비교할 수 있도록 약 1,000 개의 이미지가 필요합니다.

CNN은 블록 수 변경과 같은 작은 장면 변형에서도 일반화 기능이 제한적입니다. 반대로 IPE 모델은 자연스럽게 스택의 블록 수에 따라 사람의 판단 정확도가 떨어지는 방식을 일반화하고 캡처합니다.

종합 해보면, 이러한 결과는 신경망 (또는 적어도 CNN)이 현재 포착하고 있지 않은 인간의 인식에 대한 근본적인 무언가를 지적한다 : 세계의 인과 과정의 정신 모델의 존재. 인과 적 정신 모델은 질적으로 새로운 상황에서 일어날 일을 예측하기 위해 시뮬레이션 될 수 있으며, 광범위하게 일반화하기 위해 광범위하고 다양한 훈련 데이터가 필요하지 않지만, 본질적으로 특정 종류의 오류 (예 : 상태 및 시뮬레이션에 의한 작동 덕분에 역학 노이즈).

신경망은 강력한 모델이지만 인과 관계, 복잡한 구조를 나타내는 능력이 부족한 것 같습니다. 그리고 그들은 많은 훈련 데이터를 요구함으로써이를 보완합니다.

그리고 귀하의 질문으로 돌아가겠습니다. 넓은 유도 바이어스와 신경망이 인과 관계 / 구성 성을 모델링하지 않는다는 사실이 너무 많은 훈련 데이터를 필요로하는 이유입니다. 정규화는 일반화 방식으로 인해 큰 해결책이 아닙니다. 힌튼이 현재 전체 / 부품 형상 모델링을위한 캡슐 또는 모델링 관계를위한 상호 작용 네트워크 를 사용 하여 시도하는 것처럼 더 나은 수정 방법은 바이어스를 변경하는 것 입니다.


2

우선 딥 러닝을위한 사용 및 활발한 연구에는 많은 정규화 방법이 있습니다. 따라서 당신의 전제는 확실하지 않습니다.

사용되는 방법에있어서, 중량 감쇄는 경사 하강을 통해 중량에 대한 L2 페널티의 직접 구현이다. 가중치의 제곱 규범의 기울기를 가져 와서 반복 할 때마다이 방향으로 작은 단계를 추가하십시오. 드롭 아웃은 일종의 평균화 된 구조를 부과하는 정규화 형태로 간주됩니다. 이것은 공유 매개 변수가있는 네트워크 앙상블에 대한 L2 페널티와 같은 것을 의미합니다.

아마도 작은 샘플을 처리하기 위해 이러한 기술 또는 다른 기술의 수준을 높일 수 있습니다. 그러나 정규화는 사전 지식의 부과를 의미합니다. 가중치에 대한 L2 페널티는 예를 들어 가중치에 대한 가우시안을 의미합니다. 정규화의 양을 늘리면 기본적으로 사전 지식이 점점 더 확실 해지고 결과를 이전으로 편향시킵니다. 그래서 당신은 그것을 할 수 있고 그것은 덜 적합하지만 바이어스 출력이 빨라질 수 있습니다. 분명히 해결책은 더 나은 사전 지식입니다. 이미지 인식의 경우 문제 통계와 관련하여 훨씬 더 체계적인 사전을 의미합니다. 이 방향의 문제는 많은 도메인 전문 지식을 부과하고 있으며 인간 전문 지식을 강요하지 않는 것이 딥 러닝을 사용한 이유 중 하나입니다.


편견에 대해 +1 편견과 분산의 관점에서이 모든 것을 설명해 보시겠습니까? "과적 합"은 정확한 수학적 정의를 가지고 있지 않으며 존재하지 않는 이분법 ( "과적 합"/ "비 적합")을 의미합니다.
Josh

2

내 생각을 명확히하기 위해 : 큰 Deep NNet을 사용하여 데이터를 모델링하려고하지만 데이터 세트가 작고 실제로 선형 모델로 모델링 할 수 있다고 가정 해보십시오. 그렇다면 왜 하나의 뉴런이 선형 회귀를 시뮬레이션하고 다른 모든 것이 0으로 수렴하는 방식으로 네트워크 가중치가 수렴하지 않습니까? 정규화가 왜 도움이되지 않습니까?

신경망은 이와 같이 훈련 될 수 있습니다. 만약 적절한 L1 정규화가 사용된다면, 많은 가중치가 제로화 될 수 있고 이것은 신경망이 1 개 정도의 선형 회귀 뉴런과 많은 다른 제로 뉴런의 연결처럼 행동하게 할 것입니다. 예, L1 / L2 정규화 등은 신경망의 크기 또는 표현력을 제한하는 데 사용될 수 있습니다.

실제로 모델 자체의 크기는 일종의 정규화입니다. 모델을 크게 만들면 문제에 대한 사전 지식을 주입합니다. 즉, 문제가 매우 복잡하므로 표현력이 높은 모델이 필요합니다. 모형을 작게 만들면 문제가 단순하다는 사실을 알게되어 모형에 많은 용량이 필요하지 않습니다.

L2 정규화는 각 뉴런 (무게)의 기여가 작지만 0이 아니어야한다는 사전 지식을 주입하기 때문에 L2 정규화는 설명 된대로 네트워크를 "스파 스하게"만들지 않습니다. 따라서 네트워크는 작은 뉴런 세트만을 사용하는 것이 아니라 각 뉴런을 사용합니다.


1

L2L1

여기서 중요한 점은 정규화가 항상 도움이되는 것은 아닙니다. 오히려, 아마도 진실해야 할 것을 향한 규칙 화 는 매우 도움이되지만, 잘못된 방향으로 규칙 화하는 것은 분명히 나쁘다.

L2

그러나 이제 우리의 데이터가 깊은 신경망에 공급 된 고양이의 이미지라고 가정하십시오. 실제로 "뾰족한 귀"가 고양이를 식별하는 데 매우 도움이되는 경우, 더 예측력을주기 위해 페널티를 줄일 수 있습니다. 그러나 우리는 네트워크에서 이것이 어디 에서 표현 될지 모릅니다 ! 우리는 여전히 시스템의 작은 부분이 전체 네트워크를 지배하지 않도록 처벌을 도입 할 수 있지만, 그 외부에서는 의미있는 방식으로 정규화를 도입하기가 어렵습니다.

요약하면, 우리가 이해하지 못하는 시스템에 사전 정보를 통합하는 것은 매우 어렵습니다.

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