실제로 딥 러닝을 적용하는 병목 현상


9

딥 러닝 논문을 많이 읽은 후에는 네트워크보다 더 나은 성능을 얻기 위해 네트워크를 훈련시키는 데 많은 트릭이 있다는 느낌이 들었습니다. 산업 응용 프로그램 관점에서 볼 때 구글이나 페이스 북과 같은 대기업의 엘리트 연구 그룹을 제외하고 이러한 종류의 트릭을 개발하는 것은 매우 어렵습니다. 그렇다면 실제로 딥 러닝 알고리즘을 적용하는 가장 좋은 방법은 무엇입니까? 모든 생각과 제안은 높이 평가됩니다.

답변:


9

사실, 성능 향상에 사용 된 일부 세부 사항은 트릭으로 간주되며 이러한 트릭이 데이터와 네트워크에서 동일한 개선을 가져 오는지 항상 알 수는 없습니다.

꼭 필요한 것들 :

  • 많은 데이터
  • GPU 를 사용하면 실험을 더 빠르게 실행하고 더 짧은 시간에 더 많은 것을 시도 할 수 있습니다.
  • 학습 곡선 분석. 결국 테스트 세트의 성능이 저하되지만, 훈련 및 테스트 메트릭을 모두 보면 성능 ​​저하의 원인을 식별 할 수 있습니다. 강한 편견? 숨겨진 노드가 너무 많습니까?
  • 활성화 기능 . 어떤 종류의 활성화 기능이 필요한지 아는 것은 속임수라고 생각하지 않습니다. ReLU는 시그 모이 드 및 탄과 같이 포화되지 않는다는 점에서 중요한 특성을 갖는다. ReLU가있는 뉴런은 더 이상 확률과 비슷한 출력을 갖지만 중간 레벨 레이어의 뉴런에는 필요하지 않습니다. 당신이 얻는 이점은 그라디언트의 사라지거나 폭발을 완화하고 수렴 속도를 높이는 것입니다.
  • 정규화 . 트릭으로 적용 할 수 있지만 주류 딥 러닝 라이브러리를 사용하는 경우 드롭 아웃을 통해 정규화를 위해 상용 구현을 얻을 수 있습니다.
  • 데이터 확대. 수동 주석 추가 비용없이 기본적으로 데이터 집합을 종합적으로 확장하고 있습니다. 핵심은 실제로 의미있는 변환으로 데이터를 보강하는 것입니다. 네트워크는 테스트 단계에서 또는 제품에 배포 될 때 발생할 수있는 다양한 데이터를 볼 수 있습니다. 시각적 데이터의 경우 수평 뒤집기는 사소하고 많은 이득을 추가합니다. 지터는 아마도 데이터 유형과 잡음이 많은지에 따라 달라집니다.
  • 하이퍼 파라미터 탐험으로 들어가는 것은 실망 스러울 수 있습니다. 소규모 네트워크와 간단한 교육 절차로 시작하십시오. 소규모 네트워크는 훈련 속도가 빠릅니다. 과적 합 징후가 보이면 레이어를 더 추가하십시오.
  • 좋은 초기화 . 임의의 개시는 네트워크의 수렴 능력을 측정하는 데 적합하지만 반드시 최적의 성능으로 이어지지는 않습니다. 동시에 반복 만 계속하면 네트워크가 훈련 데이터에 과적 합 될 수 있습니다. 가능한 경우 이미 표현을 학습 한 사전 훈련 된 네트워크를 사용하여 데이터 세트에 맞게 미세 조정하십시오. 비지도 사전 훈련은 또 다른 방법이며 웨이트 공간에서 훨씬 더 유망한 위치에서지도 훈련 절차를 시작할 수 있습니다.
  • 유심히 보다트릭. 트릭이 실제로하는 일을 이해하십시오. 네트워크의 성능을 향상시키는 데 사용 된 작은 세부 사항을 설명하는 논문은 새로운 측면에 초점을 맞출 것입니다. 이 논문은 저자가 작업 한 일련의 프로젝트의 일부일 수 있습니다. 트릭의 상황이 항상 명확하지는 않지만 저자에게는 트릭이 아니라 문제를 해결하는 기술입니다. 때로는 기술이 나오고 속임수로 취급되고 나중에 누군가가 그 영향을 분석하고 그 기능을 설명합니다. 예를 들어이 트릭은 더 많은 사람들에게 익숙한 L2 정규화와 동일합니다. 우리는이 새로운 기술을 시도하거나 이미 알고있는 L2 정규화를 고수해야할지 결정할 수 있습니다. 이러한 많은 트릭은 과적 합의 위험과 같은 딥 러닝의 문제를 해결하려고 시도합니다. 비용이 많이 드는 계산, 매개 변수화 및 중복 가중치. 이러한 트릭이 실제로 무엇을하는지 이해하는 데 시간을 할애 할 가치가 있습니다. 그들이 해결하려는 문제를 이해함으로써 우리는 다른 트릭의 적용 가능성을 판단하고 우리가 가질 수있는 제약 조건에 잘 맞는 트릭을 선택할 수 있습니다 (예 : 적은 컴퓨팅 능력, 작은 데이터 세트)

2

다음은 흥미로운 책 Neural Networks : Tricks of the Trade 입니다.이 책은 업데이트 된 2012 년 버전입니다. 신경망의 선구자 중 일부가 작성한 많은 기사.

ypx는 교육과 관련된 많은 실질적인 문제를 아름답게 다루었으므로 제기 한 다른 문제를 다룰 수 있습니다. 많은 엘리트 산업 연구소는 여전히 결과를 발표합니다. 예를 들어 마이크로 소프트 리서치의 팀 그냥 ImageNet 2015 원 그들은 그들의 새로운 깊은 순 모듈을 설명하는 기술 보고서 발표 : 이미지 인식에 대한 깊은 잔여 학습 , 구글의 팀은 물론 자신의 인 셉션 아키텍처를 발표 컨벌루션와 깊은 간다 . 사소한 정도로도 큰 혁신을 공유하는 머신 러닝 (현재) 문화는 여전히 존재합니다. 키가 데이터에 액세스하기 때문일 수 있습니다. Google과 Facebook은 단순히 우리가하지 않은 데이터에 액세스 할 수 있습니다. 원시 알고리즘 혁신에 얼마나 많은 크레딧이 사용되는지, 방대한 양의 데이터에 얼마나 많은 크레딧이 사용되는지는 말하기 어렵다.

미래에 어떤 일이 일어날까요? 말하기 어렵다. 이러한 데이터 중심 기업의 가치와 시장 경쟁력을 고려할 때 많은 사람들이 제기 한 문제입니다. 그러나 지금은 산업 연구소가 공유하고 공유하지 않는 것의 균형이 충분하다고 생각합니다. 정확한 코드 구현을 공유하지 않는 것으로 알고 있습니다. 그러나 그들은 몇 가지 참신한 혁신을 공유합니다.

중요한 결과를 발표하고 읽고 읽고 읽는 연구자를 찾으십시오. 나는 Reddit에서 Yann LeCun의 AMA를 믿으며 자신이 탐욕스러운 독자라고 언급했습니다. 이것이 가장 중요하다고 생각합니다. 그리고 실제적인 범위에서 벤치 마크를 다시 작성하거나 예산 범위 내 데이터 세트에 해당 방법을 적용하십시오.

나는 당신이 어디에 있는지 또는 당신의 역이 무엇인지에 관계없이, 이것이 날카롭게 유지하고 기술을 계속 발전시키는 가장 좋은 방법이라고 생각합니다. 탐욕스러운 독자가되어 사물을 구현하고 직감을 구축하십시오. 개인적으로 ImageNet 대회에 참여할 수있는 자료는 없지만, 최고의 성과를 거둔 ImageNet 그룹의 기사를 모두 읽음으로써 엄청난 도움이되었습니다.

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