머신 러닝 및 신경망 - 페이지 59

 

강의 14.1 — RBM을 쌓아 피처 레이어 학습



강의 14.1 — RBM을 적층하여 피처 레이어 학습 [머신 러닝을 위한 신경망]

이 비디오에서 화자는 시그모이드 신념망 학습에 대한 다른 접근 방식에 대해 설명합니다. 그들은 시그모이드 신념망에서 작업하는 동안 볼츠만 기계로 초점을 옮기고 제한적인 볼츠만 기계가 효율적으로 학습될 수 있음을 발견했다고 설명합니다. 그들은 제한적인 Boltzmann 기계가 학습한 기능을 데이터로 취급함으로써 다른 제한적인 Boltzmann 기계를 적용하여 이러한 기능 간의 상관 관계를 모델링할 수 있음을 깨달았습니다. 이로 인해 여러 층의 비선형 기능을 학습하기 위해 여러 Boltzmann 기계를 쌓는 아이디어가 생겨났고, 이는 심층 신경망에 대한 관심을 다시 불러일으켰습니다.

그런 다음 발표자는 쌓인 볼츠만 기계를 하나의 모델로 결합하는 문제를 탐구합니다. 다층 Boltzmann 기계를 예상할 수 있지만 Yitay라는 학생은 결과가 시그모이드 신념망과 더 유사하다는 것을 발견했습니다. 이 예상치 못한 발견은 볼츠만 머신과 같은 무방향 모델 학습에 집중하여 깊은 시그모이드 신념망을 학습하는 문제를 해결했습니다.

발표자는 픽셀에서 직접 입력을 받는 기능 계층을 훈련하고 이러한 기능의 활성화 패턴을 사용하여 다른 기능 계층을 학습하는 과정을 설명합니다. 이 프로세스를 반복하여 여러 계층을 학습할 수 있으며, 각 계층은 아래 계층의 상관 활동을 모델링합니다. 또 다른 피처 레이어를 추가하면 데이터 생성의 로그 확률에 대한 변형 하한이 향상된다는 것이 입증되었습니다.

볼츠만 머신을 하나의 모델로 결합하기 위해 스피커는 각 머신을 개별적으로 학습한 다음 함께 구성하는 절차를 설명합니다. 그 결과 결합된 모델을 깊은 신뢰망이라고 하며, 제한적인 볼츠만 머신과 유사한 상위 계층과 시그모이드 신념망과 유사한 하위 계층으로 구성됩니다. 연사는 또한 Boltzmann 기계를 쌓는 것의 이점에 대해 논의하고 요인 분포를 평균화하는 개념을 설명합니다. 두 요인 분포를 평균화해도 요인 분포가 발생하지 않는 방법을 보여줍니다. 비디오는 Boltzmann 기계를 쌓고 깨우기-수면 알고리즘의 변형을 사용하여 복합 모델을 미세 조정하는 학습 프로세스에 대해 자세히 설명합니다. 세 가지 학습 단계에는 생성 및 인식 가중치 조정, 숨은 단위 및 보이는 단위 샘플링, 대조 발산을 사용하여 가중치 업데이트가 포함됩니다.

28x28 픽셀 이미지에서 10개의 숫자 클래스를 모두 학습하기 위해 500개의 이진 히든 유닛이 사용되는 예가 제시됩니다. RBM을 교육한 후 학습된 기능은 인식 및 생성 작업에 사용됩니다.

이 동영상은 심층 신뢰망을 학습하기 위해 쌓인 Boltzmann 기계를 사용하는 예상치 못한 발견을 강조하고 관련된 학습 및 미세 조정 프로세스에 대한 통찰력을 제공합니다.

 

강의 14.2 — DBN에 대한 판별 학습



강의 14.2 — DBN을 위한 판별 학습[머신 러닝을 위한 신경망]

이 비디오에서는 깊은 믿음 네트워크를 학습하는 과정을 살펴봅니다. 제한적인 볼츠만 머신을 쌓는 것으로 시작하여 초기 레이어를 형성한 다음 심층 신경망으로 처리됩니다. 클래스를 구별하는 능력을 향상시키기 위해 생성 방법 대신 판별 방법을 사용하여 이 네트워크를 미세 조정합니다. 이 접근 방식은 음성 인식에 상당한 영향을 미쳐 많은 주요 그룹이 이 분야의 오류율을 줄이기 위해 심층 신경망을 채택하도록 이끌었습니다.

심층 네트워크를 미세 조정하기 위해 누적된 제한적 볼츠만 머신을 사용하여 한 번에 한 계층의 기능을 학습하는 사전 교육 단계를 따릅니다. 이 사전 훈련 단계는 심층 신경망에 대한 좋은 초기 가중치 세트를 제공합니다. 그런 다음 로컬 검색 절차인 역전파를 사용하여 식별을 위해 네트워크를 더욱 세분화하고 최적화합니다. 이러한 사전 훈련과 미세 조정의 조합은 기존 역전파의 한계를 극복하여 심층 신경망을 더 쉽게 학습하고 일반화 기능을 향상시킵니다.

사전 교육은 최적화 및 일반화 측면에서 이점을 제공합니다. 특히 각 계층이 지역성을 나타낼 때 대규모 네트워크에 적합합니다. 멀리 떨어져 있는 위치 간에 상호 작용이 적기 때문에 학습 프로세스가 더욱 병렬화됩니다. 또한 사전 훈련을 통해 감지 가능한 특징 감지기로 역전파를 시작할 수 있으므로 무작위 가중치에 비해 더 의미 있는 초기 기울기가 생성됩니다. 또한 사전 훈련된 네트워크는 최종 가중치의 대부분의 정보가 일반적으로 레이블 자체보다 더 많은 정보를 포함하는 입력 분포 모델링에서 나오기 때문에 과대적합이 적습니다.

사전 훈련의 사용은 또한 당면한 차별적 작업과 관련 없는 기능을 학습하게 할 수 있다는 반대 의견을 해결합니다. 우리가 결코 사용되지 않는 기능을 배울 수 있는 것은 사실이지만 현대 컴퓨터의 계산 능력은 우리가 이러한 비효율성을 감당할 수 있도록 합니다. 학습된 기능 중에는 원시 입력을 능가하고 사용하지 않는 기능을 보완하는 매우 유용한 기능이 항상 있습니다. 또한 사전 훈련은 새로운 기능을 발견하기 위한 역전파에 대한 부담을 줄여 많은 양의 레이블이 지정된 데이터의 필요성을 줄입니다. 레이블이 지정되지 않은 데이터는 사전 훈련 단계에서 좋은 기능을 발견하는 데 여전히 유용합니다.

사전 교육 및 미세 조정의 효과를 설명하기 위해 비디오에서는 MNIST 데이터 세트 모델링에 대해 설명합니다. 3개의 숨겨진 기능 계층이 완전히 감독되지 않은 방식으로 학습되어 서로 다른 클래스에서 사실적으로 보이는 숫자를 생성합니다. 식별을 위한 이러한 기능의 유용성을 평가하기 위해 최종 10방향 softmax 레이어가 추가되고 역전파가 미세 조정에 사용됩니다. 결과는 특히 표준 역전파가 낮은 오류율을 달성하기 위해 고군분투하는 순열 불변 작업에서 순전히 차별적 훈련에 비해 향상된 성능을 보여줍니다.

다양한 실험은 사전 훈련의 이점을 보여줍니다. 사전 훈련 및 미세 조정을 위해 볼츠만 머신 스택을 사용할 때 순열 불변 MNIST 작업의 오류율을 1.0%까지 낮출 수 있습니다. 사전 훈련된 Boltzmann 기계 위에 직접 10-way softmax 레이어를 추가하면 약간의 조정을 통해 오류율을 1.15%까지 추가로 개선할 수 있습니다. Micro Yerin의 작업은 Yan Lecun의 그룹과 함께 사전 훈련이 더 많은 데이터와 더 나은 사전에 특히 효과적이라는 것을 보여줍니다. 추가적인 왜곡된 숫자 이미지와 컨벌루션 신경망을 포함하는 그들의 실험은 0.39%의 낮은 오류율을 달성하여 음성 인식에서 새로운 기록을 세웠습니다.

사전 훈련 및 미세 조정 심층 신경망의 이러한 발전은 음성 인식에 상당한 영향을 미쳐 현장의 개선으로 이어졌습니다. Microsoft Research를 비롯한 많은 연구원과 그룹은 음성 인식 작업을 위해 심층 신경망을 채택했으며 이 접근 방식으로 가능해진 성공과 발전을 언급했습니다.

사전 훈련 및 미세 조정 심층 신경망의 성공은 음성 인식을 넘어 다양한 응용 분야를 위한 신경망에 대한 새로운 관심을 불러일으켰습니다. 연구자들은 컴퓨터 비전, 자연어 처리 및 기타 영역에서 심층 신경망의 잠재력을 탐구하기 시작했습니다. 사전 훈련과 미세 조정의 조합은 계층적 표현을 학습하고 신경망의 성능을 향상시키는 강력한 기술임이 입증되었습니다.

사전 훈련이 효과적인 이유 중 하나는 특히 심층 네트워크를 다룰 때 기존 역전파의 한계를 극복하는 데 도움이 되기 때문입니다. 계층이 많은 심층 네트워크는 계층을 통해 전파될 때 기울기가 감소하는 기울기 소실 문제로 인해 어려움을 겪을 수 있으므로 네트워크를 효과적으로 훈련하기가 어렵습니다. 네트워크 레이어를 레이어별로 사전 훈련하고 학습된 기능을 기반으로 가중치를 초기화함으로써 보다 효율적인 최적화로 이어지는 역전파를 위한 좋은 출발점을 제공합니다.

사전 훈련의 또 다른 장점은 입력 데이터의 의미 있고 계층적인 표현을 캡처하는 데 도움이 된다는 것입니다. 네트워크의 계층은 우리가 네트워크로 더 깊이 들어갈수록 점점 더 복잡하고 추상적인 기능을 학습합니다. 이 계층적 표현을 통해 네트워크는 식별에 유용한 높은 수준의 기능을 추출할 수 있습니다. 입력 벡터의 분포를 모델링하기 위해 네트워크를 사전 훈련함으로써 학습된 기능이 데이터의 중요한 패턴과 변형을 캡처하여 네트워크의 일반화 성능을 개선하는 데 도움이 되도록 합니다.

생성적 사전 훈련과 차별적 미세 조정의 조합은 딥 러닝에서 인기 있는 패러다임이 되었습니다. 비지도 학습의 이점을 활용하여 유용한 초기 기능을 학습한 다음 특정 식별 작업에 대해 레이블이 지정된 데이터를 사용하여 해당 기능을 미세 조정합니다. 이 접근 방식은 다양한 응용 프로그램에서 성공적인 것으로 입증되었으며 성능의 혁신으로 이어졌습니다.

딥 러닝 분야가 계속 발전함에 따라 연구자들은 딥 뉴럴 네트워크의 훈련 및 성능을 개선하기 위한 새로운 기술과 아키텍처를 지속적으로 탐색하고 있습니다. 사전 훈련 및 미세 조정의 성공은 사전 훈련된 모델을 새로운 작업의 시작점으로 사용하는 전이 학습, 모델이 학습하는 자기 감독 학습과 같은 다른 영역의 발전을 위한 길을 열었습니다. 데이터의 특정 측면을 예측하여 레이블이 지정되지 않은 데이터.

결론적으로 사전 훈련과 미세 조정의 조합은 딥 러닝 분야에 혁명을 일으켰습니다. 비지도 학습을 활용하여 초기 기능을 학습한 다음 지도 학습을 사용하여 이러한 기능을 개선함으로써 심층 신경망은 더 나은 성능과 일반화 기능을 달성할 수 있습니다. 이 접근 방식은 음성 인식, 컴퓨터 비전 및 자연어 처리를 비롯한 다양한 응용 프로그램에 상당한 영향을 미쳤으며 딥 러닝 분야의 발전을 계속 주도하고 있습니다.

 

강의 14.3 — 판별식 미세 조정



강의 14.3 — 판별 미세 조정 [머신 러닝을 위한 신경망]

이 비디오에서는 볼츠만 머신 스택을 사용하여 신경망을 사전 훈련한 후 차별적 미세 조정 프로세스에 대해 자세히 알아봅니다. 미세 조정 중에 하위 계층의 가중치가 최소한으로 변경되지만 이러한 작은 조정은 결정 경계를 정확하게 배치하여 네트워크의 분류 성능에 상당한 영향을 미칩니다.

사전 훈련은 또한 얕은 네트워크에 비해 더 깊은 네트워크의 효율성을 향상시킵니다. 사전 훈련이 없으면 더 얕은 네트워크가 더 깊은 네트워크보다 성능이 뛰어난 경향이 있습니다. 그러나 사전 훈련은 이러한 경향을 뒤집습니다. 심층 네트워크는 더 나은 성능을 보이는 반면 사전 훈련이 없는 얕은 네트워크는 성능이 더 나쁩니다.

또한 차별적 훈련을 고려하기 전에 생성적 훈련으로 시작해야 한다는 설득력 있는 주장을 제공합니다. 일련의 테스트 사례에서 네트워크의 출력을 비교하고 t-SNE를 사용하여 시각화함으로써 우리는 두 가지 뚜렷한 클래스를 관찰합니다. 맨 위에 사전 훈련이 없는 네트워크와 맨 아래에 사전 훈련이 있는 네트워크입니다. 각 클래스 내의 네트워크는 유사성을 나타내지만 두 클래스 간에 겹치는 부분은 없습니다.

사전 훈련을 통해 네트워크는 작은 무작위 가중치로 시작하는 것과 비교하여 질적으로 다른 솔루션을 발견할 수 있습니다. 생성적 사전 훈련을 통해 찾은 솔루션은 기능 공간에서 뚜렷한 영역으로 이어지는 반면, 사전 훈련이 없는 네트워크는 더 큰 가변성을 나타냅니다.

마지막으로 사전 교육이 정당한 이유에 대해 논의합니다. 이미지-레이블 쌍을 생성할 때 레이블이 이미지의 픽셀이 아니라 실제 객체에 의존하는 것이 더 타당합니다. 라벨에는 제한된 정보가 포함되어 있기 때문에 이미지가 전달하는 정보는 라벨의 정보를 능가합니다. 이러한 경우 먼저 세계에서 이미지로 고대역폭 경로를 반전시켜 근본적인 원인을 복구한 다음 해당 레이블을 결정하는 것이 좋습니다. 이것은 이미지-원인 매핑이 학습되는 사전 훈련 단계를 정당화하고, 이미지-원인 매핑의 잠재적인 미세 조정과 함께 원인을 레이블에 매핑하는 차별적 단계가 뒤따릅니다.

사전 교육의 이점을 설명하기 위해 Yoshi Banjo의 실험실에서 수행된 특정 실험을 조사합니다. 실험은 생성 사전 훈련 후 미세 조정에 중점을 둡니다. 미세 조정하기 전에 특징 탐지기의 첫 번째 숨겨진 레이어에 있는 수용 필드는 최소한의 변화를 나타냅니다. 그러나 이러한 미묘한 변화는 식별력 향상에 크게 기여합니다.

이 실험에는 왜곡된 숫자 집합에서 숫자를 구별하는 작업이 포함됩니다. 결과는 단일 숨겨진 계층이 있는 네트워크를 사용하는 경우에도 사전 훈련이 있는 네트워크가 사전 훈련이 없는 네트워크에 비해 지속적으로 더 낮은 테스트 오류를 달성한다는 것을 보여줍니다. 사전 훈련의 이점은 더 깊은 네트워크를 사용할 때 더욱 두드러집니다. 사전 훈련이 있는 심층 네트워크는 얕은 네트워크와 거의 겹치지 않거나 전혀 겹치지 않으므로 네트워크 성능을 향상시키는 사전 훈련의 효과를 더욱 강조합니다.

또한 분류 오류에 대한 레이어 수의 영향을 조사합니다. 사전 훈련 없이 두 개의 레이어가 최적의 선택인 것처럼 보입니다. 레이어 수를 더 늘리면 성능이 크게 저하되기 때문입니다. 반대로 사전 훈련은 4개의 계층이 있는 네트워크가 2개의 계층이 있는 네트워크보다 성능이 우수하므로 이 문제를 완화합니다. 오류 변동이 줄어들고 전반적인 성능이 향상됩니다.

훈련 중 네트워크의 가중치 변화를 시각적으로 나타내기 위해 t-SNE 시각화가 사용됩니다. 사전 훈련된 네트워크와 사전 훈련되지 않은 네트워크의 가중치는 모두 같은 공간에 표시됩니다. 결과 플롯은 상단에 사전 훈련이 없는 네트워크와 하단에 사전 훈련이 있는 네트워크의 두 가지 뚜렷한 클래스를 나타냅니다. 각 점은 기능 공간에서 모델을 나타내며 궤적은 훈련 중 유사성의 진행을 보여줍니다. 사전 훈련이 없는 네트워크는 기능 공간의 다른 영역에서 끝나며 솔루션의 더 넓은 확산을 나타냅니다. 반면 사전 훈련이 있는 네트워크는 특정 영역으로 수렴하여 네트워크 간의 유사성이 더 높음을 나타냅니다.

가중치 구성이 다른 네트워크는 동일한 동작을 나타낼 수 있으므로 가중치 벡터만 비교하는 것은 불충분합니다. 대신 테스트 케이스의 네트워크 출력을 벡터로 연결하고 t-SNE를 적용하여 유사성을 시각화합니다. t-SNE 플롯의 색상은 서로 다른 훈련 단계를 나타내며 유사성의 진행을 추가로 보여줍니다.

판별 훈련 전에 생성 훈련을 사용하여 신경망을 사전 훈련하면 몇 가지 이점이 있습니다. 의사 결정 경계를 정확하게 배치하여 분류 성능을 향상시키고 더 깊은 네트워크의 효율성을 향상시키며 기능 공간에서 뚜렷한 솔루션을 제공합니다. 전 세계에서 이미지까지의 고대역폭 경로와 세계에서 라벨까지의 저대역폭 경로를 고려하여 사전 훈련을 통해 라벨을 결정하기 전에 근본적인 원인을 복구할 수 있습니다. 이 2단계 접근 방식은 신경망 훈련에서 사전 훈련의 사용을 정당화합니다.

 

강의 14.4 — RBM을 사용한 실제 값 데이터 모델링



강의 14.4 — RBM [머신 러닝을 위한 신경망]을 사용한 실제 값 데이터 모델링

RBM(Restricted Boltzmann Machine)을 사용하여 실제 가치 데이터를 모델링하는 방법을 설명하겠습니다. 이 접근법에서 보이는 단위는 이진 확률 단위에서 가우시안 노이즈가 있는 선형 단위로 변환됩니다. 학습 문제를 해결하기 위해 숨겨진 단위는 수정된 선형 단위로 설정됩니다.

실제 값 데이터에 대한 RBM을 학습하는 것은 비교적 간단합니다. 처음에 RBM은 손으로 쓴 숫자의 이미지와 함께 사용되었으며 확률은 부분적으로 잉크가 칠해진 픽셀로 인해 발생하는 중간 강도를 나타냅니다. 0에서 1까지 범위의 이러한 확률은 물류 단위가 활성화될 가능성을 모델링했습니다. 이 근사치는 기술적으로 올바르지 않지만 부분적으로 잉크가 칠해진 픽셀에 대해 잘 작동했습니다.

그러나 실제 이미지를 처리할 때 픽셀의 강도는 일반적으로 인접 픽셀의 평균 강도에 가깝습니다. 물류 단위는 이 동작을 정확하게 나타낼 수 없습니다. 평균 필드 물류 단위는 강도의 미세한 차이를 포착하기 위해 고군분투합니다. 이를 해결하기 위해 가우시안 노이즈가 있는 선형 단위를 사용하여 픽셀 강도를 가우시안 변수로 모델링합니다.

Contrastive divergence learning에 사용되는 Alternating Gibbs 샘플링은 여전히 Markov 체인을 실행하는 데 적용될 수 있습니다. 그러나 불안정성을 방지하려면 더 작은 학습률이 필요합니다. RBM 방정식에 사용되는 에너지 함수는 폭파를 방지하는 포물선형 봉쇄 항과 보이는 단위와 숨겨진 단위 사이의 상호 작용 항으로 구성됩니다.

대화식 용어는 숨겨진 단위가 에너지 함수에 기여하는 정도를 나타냅니다. 항을 미분하여 일정한 구배를 얻습니다. 포물선 봉쇄 기능과 은닉 유닛의 하향식 기여의 결합된 효과는 가시 유닛의 편향에서 평균이 이동된 포물선 함수를 생성합니다.

그러나 Gaussian-binary RBM을 사용한 학습에는 문제가 있습니다. 눈에 보이는 단위에 대한 엄격한 분산을 학습하는 것은 어렵습니다. 보이는 단위의 표준편차가 작으면 상향식 효과는 과장되고 하향식 효과는 약해진다. 이로 인해 숨겨진 단위가 포화되고 확고하게 켜지거나 꺼져 학습 과정을 방해합니다.

이를 해결하기 위해서는 보이는 유닛보다 숨겨진 유닛의 수가 더 많아야 합니다. 이렇게 하면 보이는 유닛과 숨겨진 유닛 사이의 작은 가중치가 풍부한 숨겨진 유닛으로 인해 상당한 하향식 효과를 가질 수 있습니다. 또한 보이는 단위의 표준 편차가 감소함에 따라 숨겨진 단위의 수가 변경되어야 합니다.

이를 달성하기 위해 계단식 시그모이드 단위가 도입되었습니다. 이러한 유닛은 각 확률적 이진 히든 유닛의 여러 복사본이며, 각각 가중치와 편향은 동일하지만 편향에 대한 오프셋은 고정되어 있습니다. 이 오프셋은 시그모이드 유닛 계열의 구성원 간에 다르므로 총 입력이 증가함에 따라 응답 곡선이 선형으로 증가합니다. 이 접근 방식은 표준 편차가 작은 가시적 단위를 구동하기 위해 더 많은 하향식 효과를 제공합니다.

오프셋 바이어스가 있는 이진 확률 단위의 많은 모집단을 사용하는 것은 계산 비용이 많이 들 수 있지만 유사한 결과를 생성하는 빠른 근사를 만들 수 있습니다. 이러한 근사는 총 입력의 지수를 더한 1의 로그로 오프셋 편향이 있는 시그모이드 단위의 활동 합계를 근사하는 것을 포함합니다. 또는 정류된 선형 단위를 사용할 수 있습니다. 이 단위는 더 빠르게 계산하고 축척 등분산을 나타내므로 이미지 표현에 적합합니다.

정류된 선형 유닛은 스케일 등분산의 속성을 가지고 있습니다. 즉, 이미지의 픽셀 강도에 스칼라를 곱하면 숨겨진 유닛의 활동도 같은 비율로 스케일링됩니다. 이 속성은 컨볼루션 신경망(CNN)에서 나타나는 변환 등가성과 유사합니다. CNN에서 이미지를 이동하면 네트워크의 전반적인 동작에 큰 영향을 미치지 않으면서 각 레이어에서 이동된 표현으로 이어집니다.

선형 단위와 정류된 선형 단위가 있는 RBM을 활용하면 실제 값 데이터를 효과적으로 모델링할 수 있습니다.

 

강의 14.5 — RBM은 무한 시그모이드 신념망입니다.



강의 14.5 — RBM은 무한 시그모이드 신념망입니다 [머신 러닝을 위한 신경망]

이 비디오에서는 딥 러닝의 기원 및 심층 신경망의 수학적 측면과 관련된 고급 자료에 대해 논의합니다. 우리는 제한된 볼츠만 기계(RBM)와 공유 가중치를 가진 무한히 깊은 시그모이드 신념망 사이의 관계를 탐구합니다.

RBM은 시그모이드 신뢰망의 특수한 경우로 볼 수 있으며, 여기서 RBM은 가중치를 공유하는 무한히 깊은 망에 해당합니다. RBM과 무한 심층 네트워크 사이의 동등성을 이해함으로써 레이어별 학습 및 대조 발산의 효과에 대한 통찰력을 얻습니다.

RBM에서 샘플링하는 데 사용되는 Markov 체인은 무한히 깊은 네트워크의 평형 분포에서 샘플링하는 것과 같습니다. 무한히 깊은 네트워크의 추론은 보완 사전의 구현으로 인해 단순화되며, 이는 설명으로 인한 상관 관계를 취소합니다. 이는 네트워크의 각 계층에서 추론 프로세스를 단순화합니다.

시그모이드 신념망에 대한 학습 알고리즘을 사용하여 RBM에 대한 학습 알고리즘을 도출할 수 있습니다. 네트의 가중치를 묶고 하단 레이어 가중치를 동결함으로써 나머지 레이어를 RBM으로 학습할 수 있습니다. Contrastive divergence learning으로 알려진 이 프로세스는 데이터의 로그 확률에 변동 범위를 제공합니다.

Contrastive divergence learning에서는 Markov chain mix가 빠르고 상위 계층이 평형 분포에 접근하기 때문에 가중치의 상위 도함수를 차단합니다. 가중치가 커짐에 따라 대조 발산을 더 많이 반복해야 합니다. 그러나 RBM 스택에서 여러 레이어의 기능을 학습하는 경우 CD 1(한 단계 대조 발산)이면 충분하며 최대 우도 학습보다 훨씬 나을 수 있습니다.

RBM과 무한히 깊은 시그모이드 신념망 사이의 관계를 이해하면 심층 신경망의 기능과 계층별 학습 및 대조 발산의 효과에 대한 귀중한 통찰력을 얻을 수 있습니다.

 

강의 15.1 — PCA에서 오토인코더까지



강의 15.1 — PCA에서 자동 인코더로 [기계 학습을 위한 신경망]

주성분 분석(PCA)은 저차원 코드를 사용하여 고차원 데이터를 표현하는 것을 목표로 하는 신호 처리에서 널리 사용되는 기술입니다. PCA의 핵심 아이디어는 데이터가 있는 고차원 공간에서 선형 다양체를 찾는 것입니다. 이 다양체에 데이터를 투영함으로써 우리는 최소한의 정보 손실로 다양체의 위치를 나타낼 수 있습니다.

PCA는 표준 방법을 사용하여 효율적으로 구현하거나 선형 은닉 및 출력 단위가 있는 신경망을 사용하여 덜 효율적으로 구현할 수 있습니다. 신경망 사용의 이점은 코드 및 데이터 재구성이 입력의 비선형 함수가 되는 심층 신경망에 대한 기술을 일반화하는 기능입니다. 이를 통해 입력 공간에서 곡선 다양체를 처리할 수 있으므로 보다 강력한 표현이 가능합니다.

PCA에서는 n개 미만의 숫자를 사용하여 n차원 데이터를 표현하는 것을 목표로 합니다. 주요 방향이라고 하는 가장 큰 분산을 가진 m 직교 방향을 식별함으로써 우리는 거의 변화가 없는 방향을 무시합니다. 이러한 m 기본 방향은 저차원 하위 공간을 형성하고 저차원 공간에서 이러한 방향에 투영하여 n차원 데이터 포인트를 나타냅니다. 직교 방향에서 데이터 포인트의 위치에 대한 정보가 손실되더라도 분산이 낮기 때문에 중요하지 않습니다.

m 숫자를 사용하여 표현에서 데이터 포인트를 재구성하기 위해 표현되지 않은 방향(n - m)에 대한 평균값을 사용합니다. 재구성 오류는 표시되지 않은 방향의 데이터 포인트 값과 해당 방향의 평균값 사이의 제곱 차이로 계산됩니다.

역전파를 사용하여 PCA를 구현하기 위해 주성분을 나타내는 m개의 숨겨진 유닛이 있는 병목 현상 계층이 있는 신경망을 만들 수 있습니다. 네트워크의 목표는 입력과 재구성된 출력 사이의 제곱 오차를 최소화하는 것입니다. 숨겨진 단위와 출력 단위가 선형인 경우 네트워크는 PCA와 유사하게 재구성 오류를 최소화하는 코드를 학습합니다. 그러나 은닉 유닛은 주성분과 정확히 일치하지 않을 수 있으며 잠재적으로 축이 회전하고 기울어집니다. 그럼에도 불구하고 코드 단위의 들어오는 가중치 벡터가 차지하는 공간은 m개의 주성분이 차지하는 공간과 동일합니다.

신경망에서 역전파를 사용하면 코드 레이어 전후에 비선형 레이어를 통합하여 PCA를 일반화할 수 있습니다. 이를 통해 고차원 공간의 곡선 매니폴드에 있는 데이터를 표현할 수 있으므로 접근 방식이 더욱 다양해집니다. 네트워크는 입력 벡터, 비선형 은닉 유닛, 코드 레이어(선형일 수 있음), 추가 비선형 은닉 유닛 및 입력 벡터와 유사하도록 훈련된 출력 벡터로 구성됩니다.

Principal Components Analysis는 높은 분산으로 주 방향을 식별하여 저차원 코드를 사용하여 고차원 데이터를 표현하는 기술입니다. 전통적인 방법을 사용하여 효율적으로 구현하거나 신경망을 사용하여 덜 효율적으로 구현할 수 있습니다. 신경망 버전은 심층 신경망에 대한 일반화와 곡선 매니폴드의 데이터 표현을 허용합니다.

 

강의 15.2 — 딥 오토인코더



강의 15.2 — 딥 오토인코더 [머신 러닝을 위한 신경망]

딥 오토인코더는 주성분 분석과 같은 선형 기술의 기능을 능가하여 차원 감소를 혁신했습니다. 데이터 내에서 복잡하고 비선형적인 관계를 포착하는 능력은 다양한 영역에서 귀중한 도구가 되었습니다.

Salakhutdinov와 Hinton이 구현한 딥 오토인코더의 경우, 재구성된 숫자는 선형 주성분에 비해 우수한 품질을 나타냅니다. 이러한 개선은 여러 숨겨진 계층을 통해 점점 더 추상화되는 표현의 계층 구조를 학습하는 심층 자동 인코더의 기능에서 비롯됩니다. 각 계층은 입력 데이터의 보다 충실한 재구성에 기여하는 상위 수준 기능을 캡처합니다.

딥 오토인코더의 힘은 인코딩 및 디코딩 방향 모두에서 매우 표현적인 매핑을 학습하는 능력에 있습니다. 인코더는 고차원 입력 데이터를 저차원 코드 표현에 매핑하여 가장 중요한 기능을 효과적으로 캡처합니다. 반면에 디코더는 이 압축된 코드 표현에서 원래 입력을 재구성합니다. 이 양방향 매핑은 차원 감소 프로세스 중에 귀중한 정보가 유지되도록 합니다.

deep autoencoder의 훈련은 처음에는 Vanishing Gradient 문제로 인해 어려움을 겪었습니다. 그러나 감독되지 않은 사전 교육 및 가중치 초기화 전략과 같은 최적화 기술의 발전으로 교육 프로세스가 훨씬 더 효율적이고 효과적이 되었습니다. 이러한 방법을 통해 딥 오토인코더는 최적이 아닌 솔루션에 갇히지 않고 의미 있는 표현을 학습할 수 있습니다.

또한 딥 오토인코더는 변형 오토인코더 및 생성적 적대 신경망과 같은 고급 아키텍처의 개발을 위한 길을 열었습니다. 이러한 모델은 확률적 및 적대적 학습 기술을 통합하여 심층 자동 인코더의 기능을 확장하여 데이터 생성, 이상 감지 및 준지도 학습과 같은 작업을 가능하게 합니다.

결론적으로, 심층 오토인코더는 기존의 선형 기술을 능가하는 유연한 비선형 매핑을 제공함으로써 차원 감소에 혁명을 일으켰습니다. 계층적 표현을 학습하고 고품질 데이터를 재구성하는 능력으로 인해 딥 러닝 분야에서 탁월한 위치를 차지하게 되었습니다. 지속적인 연구 개발을 통해 딥 오토인코더는 다양한 도메인에서 복잡한 데이터 구조를 이해하고 조작할 수 있는 가능성을 열어줄 것으로 기대됩니다.

 

강의 15.3 — 문서 검색을 위한 딥 오토인코더



강의 15.3 — 문서 검색을 위한 딥 오토인코더 [머신 러닝을 위한 신경망]

이 비디오에서는 문서 검색에 딥 오토인코더를 적용하는 방법에 대해 설명합니다. 잠재 의미 분석이라고 하는 이전 방법은 문서 유사성을 결정하고 검색을 용이하게 하기 위해 문서에서 추출된 단어 수 벡터에 대한 주성분 분석(PCA)을 활용했습니다. 그러나 이 작업에서 딥 오토인코더가 PCA를 능가할 가능성이 있어 추가 탐색이 필요했습니다.

Russ Salakhutdinov가 수행한 연구에 따르면 딥 오토인코더는 대규모 문서 데이터베이스에 적용될 때 잠재적인 의미론적 분석을 실제로 능가하는 것으로 나타났습니다. 데이터의 차원을 10개 구성 요소로 줄였을 때에도 deep autoencoder는 잠재 의미 분석과 같은 선형 방법에서 얻은 50개 구성 요소에 비해 우수한 결과를 얻었습니다.

문서 검색 프로세스에는 각 문서를 기본적으로 단어 수의 벡터인 bag-of-words 표현으로 변환하는 작업이 포함됩니다. 문서의 주제에 대한 정보를 거의 제공하지 않는 "the" 또는 "over"와 같은 불용어는 무시됩니다. 쿼리 문서의 단어 수를 수백만 개의 다른 문서의 단어 수와 비교하는 것은 계산 비용이 많이 들 수 있습니다. 이를 해결하기 위해 딥 오토인코더를 사용하여 단어 수 벡터를 2,000차원에서 10개의 실수로 압축하여 문서 비교에 보다 효율적으로 사용할 수 있습니다.

오토인코더를 단어 수에 맞게 조정하기 위해 논스톱 단어의 총 수로 나누기가 수행되어 카운트 벡터를 숫자의 합이 1이 되는 확률 벡터로 변환합니다. 오토인코더의 출력 레이어는 단어 카운트 벡터 크기와 일치하는 차원을 가진 소프트맥스 함수를 사용합니다. 재구성하는 동안 단어 수 확률은 대상 값으로 처리됩니다. 그러나 첫 번째 은닉층을 활성화할 때 확률 분포에서 여러 관측치를 설명하기 위해 모든 가중치에 "n"을 곱합니다. 이렇게 하면 입력 장치가 첫 번째 숨겨진 레이어에 충분한 입력을 제공할 수 있습니다.

이 접근 방식의 효과는 Reuters 데이터 세트에서 손으로 레이블이 지정된 4,000개의 비즈니스 문서 데이터 세트를 사용하여 평가되었습니다. 제한된 Boltzmann 머신의 스택이 초기에 훈련된 후 2,000-way softmax 출력 레이어로 역전파를 사용하여 미세 조정되었습니다. 테스트에는 문서를 쿼리로 선택하고 10차원 벡터 간 각도의 코사인을 기반으로 나머지 문서의 순위를 매기는 작업이 포함되었습니다. 검색 정확도는 검색된 문서의 수와 쿼리 문서와 동일한 수동 레이블 클래스의 문서 비율을 비교하여 측정되었습니다.

결과는 오토인코더가 실수 10개만 코드로 사용하더라도 실수 50개를 사용하는 잠재 의미 분석보다 성능이 우수함을 보여주었습니다. 또한 문서 벡터를 두 개의 실수로 줄이고 맵에서 시각화하면 PCA에 비해 문서 클래스가 훨씬 명확하게 구분됩니다. 이러한 시각적 디스플레이는 데이터 세트 구조에 대한 귀중한 통찰력을 제공하고 의사 결정 프로세스를 지원할 수 있습니다.

결론적으로 딥 오토인코더는 문서 검색 작업을 위해 PCA와 같은 기존의 선형 방법에 비해 유망한 개선 사항을 제공합니다. 필수 정보를 캡처하면서 문서 표현을 효율적으로 압축하고 재구성하는 능력은 문서 검색 시스템의 정확성과 효율성을 향상시킬 수 있습니다.

 

강의 15.4 — 시맨틱 해싱



강의 15.4 — 시맨틱 해싱 [머신 러닝을 위한 신경망]

이번 영상에서는 질의 문서와 유사한 문서를 효율적으로 찾는 기술인 시맨틱 해싱에 대해 알아보겠습니다. 이 개념은 문서를 메모리 주소로 변환하고 유사한 문서를 함께 그룹화하기 위해 메모리를 구성하는 것을 포함합니다. 비슷한 제품이 같은 지역에서 발견되는 슈퍼마켓과 유사합니다.

이미지의 이진 설명자는 빠른 이미지 검색에 유용하지만 일련의 직교 이진 설명자를 얻는 것은 어렵습니다. 기계 학습은 이 문제를 해결하는 데 도움이 될 수 있습니다. 이 기술을 문서에 적용한 다음 이미지에 적용하는 방법을 살펴보겠습니다.

문서에 대한 이진 코드를 얻기 위해 코드 계층에 물류 단위가 있는 심층 자동 인코더를 교육합니다. 그러나 물류 단위가 단어 수에 대한 정보를 전달하기 위해 중간 범위를 사용하는 것을 방지하기 위해 미세 조정 단계에서 입력에 노이즈를 추가합니다. 이 노이즈는 코드 단위를 켜거나 끄도록 권장하여 이진 값을 생성합니다. 테스트 시간에 물류 단위를 임계값으로 지정하면 이진 코드가 생성됩니다.

또는 노이즈를 추가하는 대신 확률적 이진 단위를 사용할 수 있습니다. 순방향 패스 중에 물류 단위의 출력을 기반으로 이진 값이 확률적으로 선택됩니다. 역전파 동안 실제 값 확률은 역전파 동안 부드러운 그래디언트 계산에 사용됩니다.

획득한 짧은 바이너리 코드로 쿼리 문서의 코드와 저장된 문서의 코드를 비교하여 순차적 검색을 수행할 수 있습니다. 그러나 보다 효율적인 접근 방식은 코드를 메모리 주소로 취급하는 것입니다. 딥 오토인코더를 해시 함수로 사용하여 문서를 30비트 주소로 변환합니다. 메모리의 각 주소는 동일한 주소를 가진 문서를 가리키며 목록을 형성합니다. 주소의 비트를 뒤집어서 가까운 주소에 액세스하고 의미상 유사한 문서를 찾을 수 있습니다. 이렇게 하면 긴 문서 목록을 검색할 필요가 없습니다.

이 메모리 기반 검색은 특히 대규모 데이터베이스에서 매우 효율적입니다. 슈퍼마켓에서 특정 위치로 이동하여 근처에 있는 물건을 찾아 검색하는 것과 비슷합니다. 그러나 30차원 메모리 공간에서는 여러 가지 이유로 항목이 서로 가까이 위치할 수 있으므로 검색이 더 효율적입니다.

시맨틱 해싱은 쿼리 용어와 연결된 저장된 목록을 교차하는 빠른 검색 방법과 일치합니다. 컴퓨터에는 단일 명령에서 여러 목록을 교차할 수 있는 메모리 버스와 같은 특수 하드웨어가 있습니다. 의미론적 해싱은 이진 코드의 32비트가 의미 있는 문서 속성과 일치하도록 함으로써 기계 학습을 활용하여 검색 문제를 목록 교차 작업에 매핑하여 기존 검색 방법 없이 빠른 유사성 검색을 가능하게 합니다.

시맨틱 해싱은 기계 학습을 활용하여 검색 문제를 컴퓨터가 뛰어난 목록 교차 작업으로 변환하는 강력한 기술입니다. 문서나 이미지를 바이너리 코드로 나타내면 기존의 검색 방법 없이도 유사한 항목을 효율적으로 찾을 수 있습니다.

이를 달성하기 위해 문서를 이진 코드로 인코딩하도록 딥 오토인코더가 훈련됩니다. 처음에 오토인코더는 제한된 볼츠만 머신의 스택으로 훈련된 다음 역전파를 사용하여 풀고 미세 조정됩니다. 미세 조정 단계에서 코드 단위의 입력에 노이즈가 추가되어 이진 기능 학습을 장려합니다.

오토인코더가 훈련되면 이진 코드를 메모리 주소로 사용할 수 있습니다. 메모리의 각 주소는 유사한 기능을 공유하는 문서 집합에 해당합니다. 주소에서 몇 비트를 뒤집으면 인근 주소에 액세스하여 해밍 볼을 형성할 수 있습니다. 이 해밍 볼 내에서 의미상 유사한 문서를 찾을 수 있을 것으로 기대합니다.

이 접근 방식을 사용하면 대규모 문서 데이터베이스를 통해 순차적으로 검색할 필요가 없습니다. 대신 쿼리 문서에 대한 메모리 주소를 계산하고, 비트를 뒤집어 인근 주소를 탐색하고, 유사한 문서를 검색합니다. 이 기술의 효율성은 수십억 개의 문서가 포함된 대규모 데이터베이스를 처리할 때 각 항목을 통한 직렬 검색을 피하기 때문에 특히 분명해집니다.

이 프로세스를 설명하는 데 자주 사용되는 비유는 슈퍼마켓 검색의 개념입니다. 슈퍼마켓에서 창구 직원에게 특정 제품의 위치를 묻는 것과 마찬가지로 여기서는 쿼리 문서를 메모리 주소로 변환하고 근처에 있는 유사한 문서를 찾습니다. 30차원 메모리 공간은 복잡한 관계를 허용하고 유사한 속성을 가진 항목을 근접하게 배치할 수 있는 충분한 공간을 제공합니다.

기존의 검색 방법은 쿼리 용어와 연결된 교차 목록에 의존하지만 시맨틱 해싱은 기계 학습을 사용하여 검색 문제를 컴퓨터의 목록 교차 기능에 매핑합니다. 바이너리 코드의 32비트가 문서 또는 이미지의 의미 있는 속성에 해당하는지 확인함으로써 명시적인 검색 작업 없이도 유사한 항목을 효율적으로 찾을 수 있습니다.

시맨틱 해싱은 유사한 문서나 이미지를 찾는 데 매우 효율적인 기술입니다. 이를 이진 코드로 변환하고 코드를 메모리 주소로 취급하면 가까운 주소를 탐색하여 의미상 유사한 항목을 빠르게 검색할 수 있습니다. 이 접근 방식은 기계 학습의 강점을 활용하고 컴퓨터의 목록 교차 기능을 활용하여 기존 검색 방법 없이도 빠르고 정확한 검색을 가능하게 합니다.

 

강의 15.5 — 이미지 검색을 위한 바이너리 코드 학습



강의 15.5 — 이미지 검색을 위한 이진 코드 학습 [기계 학습을 위한 신경망]

이 비디오는 이미지 검색을 위한 이진 코드 사용에 대해 설명하고 이를 캡션에 의존하는 기존 방법과 비교합니다. 콘텐츠를 기반으로 이미지를 검색하는 것은 개별 픽셀이 이미지 콘텐츠에 대한 많은 정보를 제공하지 않기 때문에 어렵습니다. 그러나 이미지의 내용을 나타내는 짧은 이진 벡터를 추출하면 이미지를 보다 효율적으로 저장하고 일치시킬 수 있습니다.

비디오는 이미지 검색을 위한 2단계 방법을 제안합니다. 첫 번째 단계에서는 일반적으로 약 30비트의 짧은 이진 코드가 시맨틱 해싱을 사용하여 추출됩니다. 이 코드는 잠재적인 일치 항목의 짧은 목록을 빠르게 생성하는 데 사용됩니다. 두 번째 단계에서는 256비트와 같은 더 긴 이진 코드를 사용하여 후보 이미지 간의 보다 상세하고 정확한 검색을 수행합니다.

이 비디오는 이미지를 재구성하고 유용한 이진 코드를 추출할 수 있는 자동 인코더 아키텍처의 예를 보여줍니다. 자동 인코더는 여러 계층으로 구성되어 256비트 코드에 도달할 때까지 단위 수를 점진적으로 줄입니다. 이 자동 인코더를 사용하여 비디오는 검색된 이미지가 쿼리 이미지와 유사하고 의미 있는 관계를 나타냄을 보여줍니다.

또한 이 비디오는 이미지 콘텐츠의 표현으로 활동 벡터를 추출하기 위해 이미지 인식을 위해 사전 훈련된 신경망을 사용하는 방법을 살펴봅니다. 이러한 활동 벡터를 비교하기 위해 유클리드 거리를 사용할 때 검색 결과가 유망하며 이 접근 방식이 보다 효율적인 일치를 위해 이진 코드로 확장될 수 있음을 시사합니다.

비디오는 이미지 콘텐츠를 캡션과 결합하면 표현을 더욱 향상시키고 검색 성능을 향상시킬 수 있다고 언급하면서 결론을 내립니다.

이 비디오는 효율적인 저장, 빠른 일치 및 의미 있는 이미지 콘텐츠 캡처 기능과 같은 이미지 검색에 이진 코드를 사용하는 이점을 강조합니다. 유익한 이진 코드를 추출하는 데 있어 자동 인코더 및 사전 훈련된 신경망의 효율성을 보여주고 이미지 콘텐츠와 캡션을 결합하면 훨씬 더 나은 검색 결과를 얻을 수 있음을 제안합니다.

사유: