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

 

CS480/680 강의 15: 심층 신경망



CS480/680 강의 15: 심층 신경망

이 비디오는 심층 신경망의 개념, 기울기 소실 문제, 이미지 인식 작업에서 심층 신경망의 진화를 포함한 딥 러닝의 기본 사항을 다룹니다. 강사는 심층 신경망을 사용하여 기능을 보다 간결하게 표현하는 방법과 네트워크가 심화될수록 점점 더 높은 수준이 되는 기능을 계산하는 방법을 설명합니다. ReLU(정류된 선형 단위) 및 배치 정규화 사용을 포함하여 기울기 소실 문제에 대한 솔루션을 다룹니다. 강의는 또한 다중 선형 부분을 허용하는 ReLU의 일반화로서 최대 출력 단위와 그 이점을 다룹니다.

심층신경망 강의에서는 효과적인 딥러닝을 위해 해결이 필요한 두 가지 문제, 즉 다중 계층 네트워크 표현성으로 인한 과적합 문제와 복잡한 네트워크 훈련을 위한 높은 연산 능력 요구 사항에 대해 논의합니다. 강사는 훈련 중 정규화 및 드롭아웃, 계산 중 병렬 컴퓨팅과 같은 솔루션을 제안합니다. 강의는 또한 입력 및 숨겨진 단위의 크기를 조정하여 테스트 중에 드롭아웃을 사용할 수 있는 방법에 대해 자세히 설명합니다. 마지막으로 강의는 음성 인식, 이미지 인식 및 기계 번역 분야에서 심층 신경망의 몇 가지 획기적인 응용 프로그램을 소개하면서 마무리됩니다.

  • 00:00:00 이 섹션에서는 심층 학습의 기본 사항, 특히 심층 신경망이 무엇이며 일반 신경망과 어떻게 다른지 알아봅니다. 1980년대에 숨겨진 계층이 많은 신경망 개념이 처음 제안되었기 때문에 "딥 러닝"이라는 용어는 주로 마케팅 목적으로 사용됩니다. 그러나 심층 신경망을 사용하는 이점은 표현력이 높아 데이터에 잘 맞출 수 있다는 것입니다. 문제는 그들을 효과적으로 훈련시키는 데 있으며, 여기서 "크고 사라지는 문제"가 발생합니다.

  • 00:05:00 이 섹션에서 강사는 대규모 신경망 훈련 문제와 많은 가중치 및 매개변수로 인한 과적합 문제에 대해 논의합니다. 연구자들은 충분한 은닉 유닛으로 모든 기능을 근사화할 수 있기 때문에 단일 은닉층 신경망으로 편향되었습니다. 그러나 다중 숨겨진 계층 신경망은 네트워크의 전체 크기를 줄이는 이점이 있으며 패리티 함수의 예에서 알 수 있듯이 기하급수적으로 줄일 수 있습니다. 강사는 패리티 함수를 인코딩하는 신경망 아키텍처를 보여줍니다. 여기서 은닉층은 논리 "and" 함수를 인코딩하는 임계값 퍼셉트론이고 출력 단위는 "or" 논리 함수입니다.

  • 00:10:00 이 섹션에서 강사는 켜진 입력 수가 홀수인지 짝수인지 감지하기 위해 신경망을 설정하는 방법을 설명합니다. 완전히 연결된 네트워크의 각 히든 유닛은 입력이 홀수이고 출력 유닛이 히든 유닛의 OR인 특정 패턴을 확인하는 역할을 합니다. 4개의 홀수 입력이 있는 8개의 패턴이 있으며 각 히든 유닛은 이러한 패턴 중 하나를 담당합니다. 그러나 강사는 일반적으로 n개의 입력이 있으면 숨겨진 단위가 기하급수적으로 많아지므로 이 접근 방식을 확장할 수 없게 만들고 다른 접근 방식을 제안한다고 지적합니다.

  • 00:15:00 이 섹션에서 강사는 여러 계층을 포함하고 기능을 보다 간결하게 표현하는 데 사용할 수 있는 심층 신경망의 개념에 대해 이야기합니다. 이 강의에서는 은닉층이 하나뿐인 기하급수적으로 더 큰 네트워크 또는 여러 은닉층이 있는 선형 크기의 네트워크로만 표현할 수 있는 패리티 함수라는 함수의 예를 제공합니다. 그런 다음 강사는 입력(예: 픽셀 강도)이 네트워크에 공급되고 출력에서 분류를 생성하기 위해 중간 값이 계산되는 안면 인식과 같은 컴퓨터 비전 작업에 심층 신경망을 실제로 사용할 수 있는 방법에 대해 설명합니다.

  • 00:20:00 이 섹션에서 비디오는 심층 신경망이 네트워크의 시작 부분에서 단순하고 더 깊이 들어갈수록 점진적으로 더 높은 수준이 되는 기능을 계산하는 방법에 대해 설명합니다. 컴퓨터 비전에서 딥 러닝 이전에는 실무자가 작업에 대한 기능을 수동으로 설계했습니다. 그러나 딥 러닝을 사용하면 기능을 네트워크의 일부로 학습할 수 있으므로 원시 데이터로 작업할 수 있습니다. 이 돌파구는 2006년 최초의 효과적인 심층 신경망을 설계한 Geoff Hinton에 의해 개척되었습니다.

  • 00:25:00 이 섹션에서는 심층 신경망의 역사와 음성 인식 및 이미지 분류의 혁신에 대해 설명합니다. 첫 번째 돌파구는 2009년 Geoff Hinton이 제한된 Boltzmann 기계를 사용하여 계층별로 심층 신경망을 훈련하는 방법을 개발하여 음성 인식 벤치마크에서 상당한 개선을 이뤘을 때 이루어졌습니다. 반복 신경망은 2013년경에 제한된 볼츠만 기계를 대체하여 훨씬 더 나은 결과를 얻었습니다. 두 번째 돌파구는 이미지 분류에서 2010년 ImageNet Large Scale Visual Recognition Challenge가 제안되었을 때 이루어졌습니다. 수년간의 연구에도 불구하고 컴퓨터는 1000개의 카테고리 중에서 이미지를 정확하게 분류하지 못했습니다. 그러나 2012년까지 딥 러닝 알고리즘은 오류율을 26%에서 15%로 줄였고 2016년에는 Microsoft가 3.1%의 오류율을 달성하여 인간의 성능을 능가했습니다.

  • 00:30:00 이 섹션에서 연사는 특히 이미지 인식 작업에서 심층 신경망의 역사와 진화에 대해 논의합니다. 2012년 Jeff Hinton 그룹이 AlexNet이라는 컨볼루션 신경망을 도입하면서 이미지 분류 작업의 오류율이 크게 감소했습니다. 이를 통해 신경망이 놀라운 결과를 얻을 수 있다는 것을 이해하게 되었고, 오류율을 더욱 개선하기 위해 더 정교한 아키텍처가 설계되었습니다. 시간이 지남에 따라 네트워크의 깊이가 증가했고 더 깊은 네트워크를 향한 명확한 추세가 있었습니다. 이미지 인식 작업에 심층 신경망을 적용하고 사용할 수 있는 능력은 더 나은 훈련 기술과 과적합 방지를 포함한 다양한 혁신의 결과였습니다.

  • 00:35:00 이 섹션에서는 심층 신경망에서 기울기 소실 문제를 해결합니다. 이 문제는 이전 레이어의 가장자리와 연결된 가중치의 편미분의 크기가 작아 네트워크가 깊어짐에 따라 무시할 수 있는 값이 될 때 발생합니다. 이로 인해 연구원이 여러 계층으로 신경망을 훈련하는 것이 어려웠습니다. 맨 아래 계층이 훈련되지 않았기 때문에 네트워크의 예측을 개선할 수 있는 의미 있는 출력을 제공하지 않았기 때문입니다. 이는 기울기가 항상 1보다 작은 시그모이드 함수 또는 하이퍼볼릭 탄젠트 함수와 같이 사용된 활성화 함수로 인해 가중치를 최적화하고 초기 계산을 조정하는 것이 어려웠습니다.

  • 00:40:00 이 섹션에서 강사는 심층 신경망에서 기울기가 사라지는 문제를 설명합니다. 그는 시그모이드 활성화 단위로 장난감 신경망을 만들고 기울기가 요소의 곱인 편도함수로 구성되는 방식을 보여줍니다. 각 요소는 시그모이드의 편도함수 또는 가중치입니다. 시그모이드의 편도함수는 항상 1보다 작고 가중치는 1보다 작은 크기로 초기화되므로 이러한 인수를 곱하면 편도함수가 점점 더 작아지는 경향이 있습니다. 이로 인해 레이어로 돌아갈 때 가중치의 영향이 점점 줄어들어 그래디언트 소실 문제가 발생합니다. 그런 다음 강사는 사전 교육, 다양한 활성화 기능, 건너뛰기 연결 및 배치 정규화와 같은 몇 가지 일반적인 솔루션을 소개하고 가능한 솔루션으로 수정된 선형 단위 및 최대 단위에 중점을 둡니다.

  • 00:45:00 이 섹션에서 강사는 문제가 있는 활성화 함수로 인해 발생하는 기울기 소실 문제에 대한 솔루션에 대해 논의합니다. 한 가지 가능한 해결책은 입력의 선형 조합 또는 0을 반환하는 정류 선형 단위(ReLU)와 같이 0보다 큰 도함수를 갖는 활성화 함수를 사용하는 것입니다. 또 다른 솔루션은 기울기가 1에 가까운 경향이 있는 범위에 데이터가 효과적으로 있는지 확인하는 배치 정규화입니다. 이러한 솔루션은 충분한 경로의 기울기가 1인 경우 기울기가 사라지는 일부 경로를 허용하여 기울기를 신경망을 통해 전파합니다.

  • 00:50:00 이 섹션에서 강사는 정류 선형 단위(ReLU)와 그 장단점에 대해 설명합니다. ReLU는 기울기 하강법을 사용하여 기울기를 계산하는 데 문제를 일으키는 0에서 불연속성이 있기 때문에 초기에 비판을 받았습니다. 그러나 숫자 값이 정확히 0인 경우는 드물기 때문에 이 문제는 실제로 중요하지 않습니다. 대조적으로, ReLU에 근접한 소프트 손실 함수는 매끄럽고 연속적이지만 기울기는 모든 곳에서 1보다 작습니다. 따라서 ReLU를 매끄럽게 만드는 것은 기울기 소실 문제를 제거하는 데 도움이 되지 않습니다. 무시할 수 있는 부분이 있는 ReLU에도 불구하고 각 단위가 선형 부분에서 무언가를 생성하는 입력이 있기 때문에 여전히 유용합니다.

  • 00:55:00 이 섹션에서 발표자는 정류 선형 단위(ReLU)의 장점에 대해 논의하고 최대 출력 단위의 개념을 소개합니다. 그는 기울기가 사라지지 않는 경우 더 빠르게 훈련할 수 있고 기울기 하강이 덜 필요하기 때문에 ReLU가 인기를 얻었다고 설명합니다. 그런 다음 연사는 영 부분과 선형 부분이 아닌 여러 선형 부분을 허용하는 ReLU의 일반화로 최대 출력 단위를 소개하고 서로 다른 선형 조합의 최대값을 취하여 구성하는 방법을 보여줍니다. 최대 출력 단위의 모양은 각각 선에 해당하는 여러 개의 선형 조합을 갖는 것으로 표시되며 최대 단위와 함께 항등 단위의 숨겨진 계층의 집합이 됩니다.

  • 01:00:00 강의의 이 섹션에서 교수는 효과적인 딥 러닝을 위해 해결해야 할 두 가지 문제에 대해 논의합니다. 첫 번째 문제는 다중 계층 네트워크의 높은 표현력으로 인해 발생하는 과대적합(overfitting) 문제입니다. 정규화는 가중치의 크기를 최소화하여 가중치를 작고 제한적으로 유지하는 것과 관련된 하나의 솔루션입니다. 또 다른 솔루션은 네트워크를 강력하게 만들고 과적합을 방지하기 위해 훈련 중에 일부 네트워크 단위를 임의로 삭제하는 드롭아웃입니다. 두 번째 문제는 GPU 또는 분산 컴퓨팅을 사용하는 병렬 컴퓨팅을 통해 달성할 수 있는 복잡한 네트워크를 훈련하기 위한 높은 컴퓨팅 성능이 필요하다는 것입니다.

  • 01:05:00 이 섹션에서 발표자는 심층 신경망에 대한 테스트 시간 동안 드롭아웃 사용에 대해 설명합니다. 교육 중에 드롭아웃은 과적합을 방지하기 위해 입력 또는 숨겨진 단위 중 일부를 네트워크에서 임의로 삭제하는 기술입니다. 그러나 테스트 중에는 전체 네트워크가 사용되므로 선형 조합의 크기가 더 커질 수 있습니다. 이 문제를 해결하기 위해 입력 단위에 1 빼기 확률을 곱하여 크기를 조정하고 숨겨진 단위에 대해서도 동일하게 수행합니다. 발표자는 3개의 입력, 4개의 은닉 유닛, 1개의 출력으로 완전히 연결된 네트워크의 예를 제공하고 훈련 중에 일부 입력 및 은닉 유닛을 드롭하기 위해 난수 생성기를 사용하는 방법을 설명합니다.

  • 01:10:00 이 섹션에서 강사는 신경망에서 모든 입력 또는 숨겨진 단위가 제거되면 어떻게 되는지, 드롭아웃 정규화가 이 문제를 어떻게 해결할 수 있는지에 대해 설명합니다. 모든 유닛이 제거될 가능성은 낮지만 제거된 경우 정확도에 영향을 미칠 수 있습니다. 드롭아웃 정규화는 과적합을 방지하고 누락된 기능과 관련하여 네트워크를 강력하게 만드는 데 도움이 됩니다. 드롭아웃 정규화를 위한 알고리즘은 Bernoulli 변수를 샘플링하여 일부 유닛이 드롭되는 절단된 네트워크를 생성하고 나머지 유닛의 크기에 1 빼기 드롭 확률을 곱하는 것을 포함합니다. 훈련 중에 기울기는 절단된 네트워크에 대해 계산됩니다.

  • 01:15:00 이 섹션에서 발표자는 네트워크를 견고하게 만들고 과적합을 방지하기 위해 심층 신경망에서 사용되는 드롭아웃 기술에 대해 설명합니다. 드롭아웃은 근사화된 샘플 학습의 한 형태로, 각 반복은 특정 노드를 삭제하여 절단된 네트워크를 계산하여 학습 중인 내용을 인코딩할 수 있는 하나의 가설 또는 함수를 생성합니다. 전체 네트워크는 계산되는 내용을 조정하여 절단된 모든 네트워크의 평균으로 생각할 수 있습니다. 이 방법은 베이지안 학습과 유사하며 깊은 가우시안 프로세스와 관련하여 일부 계산을 근사화하는 것으로 입증되었습니다. 이는 드롭아웃이 실제로 잘 작동하는 이유를 정당화하는 데 도움이 됩니다. 발표자는 음성 인식, 이미지 인식 및 기계 번역을 포함하여 심층 신경망이 혁신을 경험한 몇 가지 응용 프로그램을 소개하면서 결론을 내립니다.

  • 01:20:00 이 섹션에서 화자는 음성 인식을 위한 역사적인 최첨단 방법에 대해 설명합니다. 이 방법은 가우시안 혼합을 사용하는 숨겨진 마르코프 모델입니다. 그러나 2009년에 Geoff Hinton과 그의 연구 그룹은 가우시안 혼합을 적층 제한 볼츠만 기계를 사용하는 심층 신경망으로 대체할 것을 제안했습니다. 확률 모델과 심층 신경망 사이의 이 하이브리드 모델은 여러 벤치마크에서 관찰된 오류율의 상당한 감소로 이어졌습니다. 이러한 돌파구로 인해 Google 및 Microsoft를 포함한 여러 회사가 심층 신경망을 활용하기 시작했으며 궁극적으로 딥 러닝 분야의 르네상스를 이끌었습니다.

  • 01:25:00 이 섹션에서 강사는 2012년에 발생한 이미지 인식 혁신을 시작으로 신경망의 혁신에 대해 논의합니다. 혁신은 픽셀 강도의 2D 배열을 입력으로 사용하는 컨벌루션 신경망의 개발로 인해 발생했습니다. 서로 다른 입도에서 기능을 계산하는 컨볼루션 레이어와 완전히 연결된 밀집 레이어가 있습니다. 데이터 확대는 회전 및 기타 요인에 불변하게 하여 인식을 개선하는 데에도 사용되었습니다. 그 결과 경쟁에서 상위 항목의 오류율이 26.2%에서 16.4%로 크게 감소했습니다. 16%는 여전히 상대적으로 높지만 수천 개의 클래스 중에서 이미지를 정확하게 분류하기 어렵고 상위 1개가 아닌 상위 5개의 예측 정확도를 측정했습니다.

  • 01:30:00 이 섹션에서는 강사가 힘의 이미지를 예로 들어 심층 신경망 알고리즘의 성능에 대해 설명합니다. 알고리즘은 5개의 잠재적 클래스를 반환하고 각 클래스에 신뢰도 점수를 할당하여 올바른 클래스일 확률을 결정합니다. 네트워크는 일반적으로 잘 수행되어 컨테이너 선박 및 모터 스쿠터와 같은 객체를 높은 신뢰도로 올바르게 인식하지만 객체를 잘못 분류하는 경우가 있습니다.
 

CS480/680 강의 16: 합성곱 신경망



CS480/680 강의 16: 합성곱 신경망

이 비디오는 CNN(컨볼루션 신경망)을 소개하고 주요 속성을 가진 특정 유형의 신경망으로서 이미지 처리에서 CNN의 중요성을 설명합니다. 강사는 모서리 감지와 같은 이미지 처리에 컨볼루션을 사용하는 방법과 CNN이 유사한 방식으로 기능을 감지하는 방법에 대해 설명합니다. 컨벌루션 레이어의 개념과 해당 매개변수를 설명하고 가중치를 공유하는 역전파 및 경사 하강법을 사용하여 CNN을 훈련하는 과정을 설명합니다. 또한 강사는 더 작은 필터를 사용하고 모든 컨볼루션 후 비선형 활성화와 같은 효과적인 CNN 아키텍처를 만들기 위한 설계 원칙을 제공합니다.

CNN(Convolutional Neural Networks)에 대한 이 강의에서 연사는 심층 신경망이 직면하는 기울기 소멸 문제에 대한 해결책으로 잔여 연결의 개념에 대해 논의합니다. 이러한 스킵 연결을 통해 네트워크 경로를 단축하고 쓸모 없는 레이어를 무시할 수 있으며, 필요한 경우 0에 가까운 출력 생성을 방지하기 위해 계속 사용할 수 있습니다. 기울기 소실 문제를 완화하기 위해 배치 정규화 기술의 사용도 도입되었습니다. 또한 연사는 CNN이 비디오 시퀀스와 같이 2차원 이상의 순차적 데이터 및 텐서에 적용될 수 있으며 3D CNN도 특정 애플리케이션에 적용될 수 있다고 언급합니다. TensorFlow 프레임워크는 다차원 배열 계산을 위해 설계된 것으로 강조됩니다.

  • 00:00:00 이 섹션에서 발표자는 CNN(컨볼루션 신경망)을 소개하고 핵심 속성을 가진 특정 유형의 신경망으로서 이미지 처리에서 중요성을 설명합니다. 강의는 CNN이 대규모 데이터 세트 및 시퀀스를 처리하기 위해 확장할 수 있는 방법에 대해 논의합니다. 발표자는 CNN의 이름이 컨볼루션(convolution)의 수학적 연산에서 따왔다고 설명합니다. 두 개의 함수를 수정하여 세 번째 함수를 생성하는 컨볼루션을 평활화에 사용하는 예를 들어 설명합니다. 강의 노트는 또한 컨볼루션 연산을 위한 가중 함수로 가우시안을 사용합니다.

  • 00:05:00 이 섹션에서는 출력 Y가 이웃에 있는 X의 가중 조합인 연속 및 불연속 사례 모두에서 컨벌루션의 개념에 대해 설명합니다. 이미지에 적용할 때 이것은 2차원 함수이며 각 픽셀은 x 및 y 방향의 특정 좌표에서 해당 함수의 측정값입니다. 각 픽셀 강도에 적용되는 가중치는 새로운 이미지 Y를 생성할 수 있습니다. 예를 들어 그레이스케일 이미지에서 수직 에지를 감지하기 위해 간단한 컨볼루션을 에지 감지에 사용할 수 있습니다.

  • 00:10:00 이 섹션에서 연사는 컨볼루션을 사용하여 신경망에서 기능을 감지하는 방법에 대해 설명합니다. 컨볼루션은 기본적으로 특정 가중치 패턴을 기반으로 하는 단위 하위 집합의 선형 조합으로, 주어진 작업에 중요할 수 있는 에지 또는 기타 패턴과 같은 기능을 감지하는 데 도움이 될 수 있습니다. 화자는 또한 가중치 패턴이 이웃의 특징을 감지하는 필터를 결정하고 비선형 활성화 함수가 출력을 증폭한다고 설명합니다. 갭 또는 필터는 인간의 시각 피질이 작동하는 방식에서 영감을 받은 공통 기능 맵에 해당하는 인기 있는 필터 클래스입니다.

  • 00:15:00 이 섹션에서는 강사가 컨볼루션 신경망의 작동 방식을 설명합니다. 아이디어는 특정 기능에 해당하는 가중치 패치를 적용하여 이미지의 작은 가장자리를 감지하는 것이며 각 패치의 크기는 해당 색상으로 결정됩니다. 이러한 패치는 컨볼루션 레이어와 풀링 레이어를 번갈아 가며 이미지에 적용됩니다. 컨볼루션 레이어는 동일한 가중치를 가진 특정 크기의 필터를 사용하여 다른 벡터에 해당하는 컨볼루션을 계산하여 작동합니다. 컨볼루션 신경망의 핵심 요소는 이러한 컨볼루션 및 풀링 레이어로, 이미지에서 서로 다른 특징을 감지하기 위해 번갈아 가며 사용됩니다.

  • 00:20:00 이 섹션에서는 신경망의 컨볼루션 레이어 개념에 대해 설명합니다. 컨벌루션 레이어는 가중치 또는 필터 세트가 적용된 고정 크기 창 또는 패치를 사용합니다. 이 필터는 레이어의 각 창에서 재사용되어 완전히 연결된 레이어와 비교하여 입력과 출력 사이의 연결 표현을 훨씬 희소하게 생성합니다. 1D 예제에서는 크기가 3 x 1인 패치를 취하고 각 입력 창에 필터를 적용합니다. 유사하게, 2D 예에서 크기가 3 x 3인 패치가 사용되며 가장자리와 같은 특정 기능을 감지하기 위해 슬라이딩 윈도우에 동일한 가중치 세트가 적용됩니다. 창 인스턴스 전체에서 동일한 필터를 재사용함으로써 컨벌루션 계층은 보다 작고 효율적인 네트워크 설계를 허용합니다.

  • 00:25:00 이 섹션에서 강사는 컨벌루션 신경망에 대해 설명하고 이미지 또는 신호의 모든 패치에 대해 동일한 가중치 세트를 사용하여 이미지 및 오디오 신호와 함께 작동하는 방식을 설명합니다. 네트워크는 로컬 등분산을 계산하는 풀링 필터를 적용하여 기능을 감지하여 네트워크가 위치에 관계없이 기능을 인식할 수 있도록 합니다. 이 방법은 비트맵 이미지를 입력으로 사용하고 0에서 9까지의 레이블을 출력으로 생성하는 숫자 인식에 사용할 수 있습니다. 강사는 역전파 및 자동 미분이 공유 가중치를 처리하여 가중치가 동일한 에지의 가중치를 업데이트한다고 설명합니다.

  • 00:30:00 동영상의 이 섹션에서 강사는 CNN(컨볼루션 신경망)의 작동 방식을 설명합니다. 첫 번째 단계는 필터를 사용하여 입력 이미지에 5x5 컨벌루션을 적용하는 것입니다. 이 필터를 사용하면 작은 필터보다 더 큰 특징을 감지할 수 있습니다. 이렇게 하면 28x28 크기의 기능 맵이 생성되며, 다른 위치에 기능이 있는지 여부를 확인하는 데 사용할 수 있습니다. 다음으로 각 2x2 패치의 최대값을 취하여 기능 맵의 크기를 14x14로 줄이기 위해 최대 풀링 레이어가 적용됩니다. 그런 다음 5x5 필터를 사용하여 또 다른 컨볼루션을 적용하여 더 높은 수준의 기능을 감지하고 최대 풀링을 다시 거치는 12개의 기능 맵을 생성합니다. 최대 풀링의 이면에 있는 직관은 얼굴 인식에서 눈이나 코와 같은 일부 기능의 정확한 위치가 약간 다를 수 있다는 것입니다.

  • 00:35:00 이 섹션에서 강사는 분류를 위해 설계된 신경망의 두 번째 부분에 대해 설명합니다. 일반적인 접근 방식은 완전히 연결된 계층을 취하고 기능을 평평하게 한 다음 역전파를 통해 조정된 가중치로 클래스를 계산하기 위해 노드 벡터를 구성하는 것입니다. 컨볼루션 신경망의 장점은 컨볼루션 필터의 가중치가 사람이 설계한 것이 아니라 네트워크가 훈련됨에 따라 무작위로 초기화되고 업데이트되어 네트워크가 관련 기능을 추출하는 방법을 학습할 수 있다는 것입니다. 네트워크는 데이터 기반 솔루션을 통해 실제로 더 잘 작동하는 기능을 최적화하고 제시할 수 있습니다.

  • 00:40:00 이 섹션에서 강사는 컨벌루션 신경망에서 희소 연결의 개념에 대해 논의합니다. 이는 노드가 완전히 연결되지 않고 몇 개의 연결만 있다는 사실을 나타냅니다. 이것은 훨씬 더 적은 수의 가중치와 희박한 계산을 허용합니다. 또한 강사는 신경망의 컨볼루션 계층에서 필터 수, 커널 크기, 보폭 및 패딩과 같은 매개 변수를 지정하는 방법을 설명합니다. 제공된 예제는 이러한 매개변수가 컨볼루션 레이어를 정의하는 데 사용되는 방법을 더 명확히 하는 데 도움이 됩니다.

  • 00:45:00 이 섹션에서는 강사가 컨볼루션 신경망의 작동 방식을 설명합니다. 강사는 입력 이미지에 커널을 적용하여 컨벌루션 레이어가 입력 이미지를 처리하는 방법을 보여줍니다. 커널의 크기는 출력의 크기를 결정하고 보폭은 커널이 입력을 가로질러 이동하는 정도를 결정합니다. 입력의 원래 크기를 유지하기 위해 패딩을 사용할 수도 있습니다. 강사는 서로 다른 커널 크기와 보폭이 컨볼루션 계층의 출력 크기에 어떻게 영향을 미치는지에 대한 예를 제공합니다.

  • 00:50:00 이 섹션에서 강사는 가중치가 변수 간에 공유되는 역전파 및 경사 하강법을 사용하여 CNN(컨볼루션 신경망)을 교육하는 과정에 대해 설명합니다. 편도함수를 계산하는 과정은 변수가 함수에 여러 번 나타나는 경우에도 다르지 않으며 Adam 및 RMSprop과 같은 알고리즘을 훈련에 사용할 수 있습니다. 신경망 아키텍처 설계에 관해서는 문제에 따라 다르며 과학보다 예술입니다. 그러나 일부 경험 법칙은 더 적은 수의 매개변수와 더 깊은 네트워크를 위해 하나의 큰 필터 대신 작은 필터 스택을 사용하는 것과 같이 좋은 결과를 보여주었습니다.

  • 00:55:00 비디오의 이 섹션에서 강사는 컨볼루션 신경망(CNN) 아키텍처를 설계하기 위한 경험 법칙을 설명합니다. 그는 더 작은 필터를 사용하는 것이 더 잘 작동하는 경향이 있으며 더 큰 필터에 비해 더 적은 매개변수를 생성한다고 제안합니다. 더 큰 필터 대신 더 작은 필터 스택을 사용하면 수용 필드가 동일하게 유지되면서 필요한 매개변수 수가 줄어듭니다. 또한 모든 컨볼루션 후에 비선형 활성화를 추가하면 CNN의 성능을 향상시킬 수 있습니다. 이러한 설계 원칙은 다양한 애플리케이션을 위한 효과적인 아키텍처를 만드는 데 유용할 수 있습니다.

  • 01:00:00 이 섹션에서는 컨볼루션 신경망에서 잔여 레이어를 사용하는 방법에 대해 설명합니다. 2015년에 너무 많은 레이어를 추가하여 네트워크 품질이 저하되는 것을 방지하기 위한 방법으로 잔여 레이어가 제안되었습니다. 아이디어는 스킵 연결을 생성하여 네트워크로의 경로를 단축하여 깊이를 효과적으로 줄이고 기울기를 보다 효과적으로 전파하는 것입니다. 잔류 연결은 일부 계층을 건너뛰고 건너뛴 계층의 출력에 입력 X를 추가합니다. 이렇게 하면 추가 계층이 유용하지 않은 경우 네트워크 성능을 손상시키지 않고 무시할 수 있습니다.

  • 01:05:00 이 섹션에서 발표자는 컨벌루션 신경망(CNN)의 잔류 연결 개념을 소개하고 기울기 소실 문제를 해결할 수 있는 방법을 설명합니다. 본질적으로 계층의 출력에 ID 기능을 추가하는 건너뛰기 연결을 사용하면 네트워크에 유용하지 않은 특정 계층을 무시할 수 있는 옵션이 제공되지만 원하는 경우 계속 사용할 수 있습니다. 이렇게 하면 0에 가까운 출력을 생성하는 레이어의 문제를 피할 수 있습니다. 이로 인해 네트워크가 해당 레이어를 모두 무시할 수 있습니다. 연사는 건너뛰기 연결이 그래디언트 크기에 영향을 미치지 않는다고 언급하고 그래디언트 소실 문제를 완화하기 위한 또 다른 접근 방식으로 배치 정규화를 사용할 것을 제안합니다.

  • 01:10:00 비디오의 이 섹션에서 연사는 기울기 소실 문제 및 컨벌루션 신경망의 정규화와 같은 문제를 처리하는 기술에 대해 설명합니다. 배치 정규화는 각 차원에 대해 개별적으로 분산이 1이고 중심이 0인 데이터 배치에 따라 값이 정규화되는 일반적으로 사용되는 휴리스틱입니다. 또한 건너뛰기 연결은 역전파가 수행할 더 짧은 경로를 제공하므로 그래디언트를 더 빠르게 전파하는 데 도움이 될 수 있습니다. 마지막으로 발표자는 컨벌루션 신경망이 비디오 시퀀스와 같은 응용 프로그램에서 볼 수 있는 순차 데이터 및 2차원 이상의 텐서를 포함하여 단순한 컴퓨터 비전 이상으로 사용될 수 있다고 언급합니다. TensorFlow 프레임워크는 벡터나 행렬에만 국한되지 않고 다차원 배열과 관련하여 계산을 수행하도록 설계되었습니다.

  • 01:15:00 이 섹션에서는 3D 컨볼루션 신경망이 존재하며 일반적이지는 않지만 사용할 수 있는 일부 응용 프로그램이 있다고 언급합니다.
 

CS480/680 강의 17: 히든 마르코프 모델


CS480/680 강의 17: 히든 마르코프 모델

강의에서는 정확성을 향상시킬 수 있는 시퀀스 데이터의 상관 관계를 활용하는 데 사용되는 일종의 확률적 그래픽 모델인 HMM(Hidden Markov Models)을 소개합니다. 모델 가정에는 정적 프로세스와 숨겨진 상태가 이전 상태에만 의존하는 Markovian 프로세스가 포함됩니다. HMM의 3가지 분포는 초기상태분포, 전이분포, 발산분포이며, 후자는 데이터의 종류에 따라 사용된다. 이 알고리즘은 모니터링, 예측, 필터링, 평활화 및 대부분의 설명 작업에 사용할 수 있습니다. HMM은 안정성 상관관계를 위해 보행기 장치를 사용하는 노인을 위한 입력 시퀀스 및 숨겨진 상태를 기반으로 가장 가능성이 높은 출력 시퀀스를 예측하는 것과 같은 음성 인식 및 기계 학습에 사용되었습니다. 은퇴시설에서 노인들의 활동 데이터를 수집하여 노인들의 활동을 자동으로 인식하기 위해 보행기에 장착된 센서와 카메라를 변형한 실험을 진행하였다. 활동 인식의 맥락에서 감독 및 비지도 학습 시연도 논의되었습니다.

강의는 수집된 데이터가 연속적인 실제 응용 프로그램에서 일반적으로 사용되는 HMM(Hidden Markov Models)의 가우시안 방출 분포 사용에 중점을 둡니다. 강사는 이 방법이 데이터의 경험적 평균 및 분산에 해당하는 평균 및 분산 매개변수를 계산하고 이를 사용하여 초기 및 전환 분포에 대한 솔루션을 계산하는 것을 포함한다고 설명합니다. 전이 분포는 상대 빈도 수에 해당하며 최대 우도를 사용하여 솔루션을 얻습니다. 이 접근 방식은 초기 및 방출 분포가 사용되는 가우시안 혼합에 대한 솔루션과 유사합니다.

  • 00:00:00 이 섹션에서 강사는 지금까지 논의된 신경망과 다른 HMM(Hidden Markov Models)의 개념을 소개합니다. 강사는 데이터가 독립적인 데이터 포인트가 아닌 시퀀스에서 나올 때 HMM을 사용할 수 있으며 한 데이터 포인트에 대한 예측이 다음 데이터 포인트에 대한 예측과 상관관계가 있다고 설명합니다. 강사는 음소 또는 단어의 예측이 다음 음소 또는 단어와 상관되는 음성 인식의 예를 제공합니다. 이러한 상관관계를 활용하면 예측 정확도를 높일 수 있습니다. 강사는 또한 HMM이 시퀀스 데이터를 처리하고 시퀀스의 서로 다른 지점 간에 정보를 전파할 수 있는 순환 신경망(RNN)으로 일반화될 수 있다고 설명합니다. 이에 대해서는 나중에 설명합니다.

  • 00:05:00 강의의 이 섹션에서 발표자는 숨겨진 Markov 모델을 가우시안 혼합의 일반화로 소개합니다. 그는 숨겨진 Markov 모델이 정확도를 높이기 위해 순차 데이터의 상관 관계를 활용하고 y가 주어진 조건부 확률 분포 x를 따르는 y에 대한 분포를 표현하는 데 사용된다고 설명합니다. 이는 y가 다항 분포에서 샘플링된 후 입력 x에 대한 클래스 조건부 분포가 표현되는 가우시안 혼합과 다릅니다. 화자는 또한 이 모델과 조건부 임의 필드 및 순환 신경망을 비교합니다.

  • 00:10:00 이 섹션에서 강사는 숨겨진 Markov 모델을 설계할 때 가정한 내용을 설명합니다. 첫 번째 가정은 프로세스가 정지되어 있다는 것입니다. 즉, 전이 및 배출 분포가 시간과 무관하다는 의미입니다. 두 번째 가정은 프로세스가 Markovian이라는 것입니다. 즉, 주어진 은닉 상태는 이전 은닉 상태에만 의존한다는 의미입니다. 이러한 가정은 공동 분포를 함께 형성하는 초기 분포, 전이 분포 및 배출 분포를 포함하는 확률적 그래픽 모델을 생성합니다. 초기 분포는 첫 번째 숨겨진 상태에 대한 분포를 설명하며 일반적으로 다항식입니다.

  • 00:15:00 이 섹션에서는 은닉 마르코프 모델의 세 가지 분포인 초기 상태 분포, 전이 분포 및 방출 분포에 대해 알아봅니다. 가우스 방사 분포는 연속 데이터에 사용되는 반면 다항 방사 분포는 자연어 처리를 위한 일련의 단어와 같은 불연속 데이터에 유용합니다. 이러한 분포를 함께 곱하면 로봇 위치 파악과 같은 다양한 응용 프로그램에 사용할 수 있는 관절 분포를 도출할 수 있습니다.

  • 00:20:00 이 섹션에서는 주행 기록계 판독값의 드리프트 및 부정확성으로 인해 로봇이 길을 잃는 문제에 대해 배웁니다. 이 문제에 대한 해결책은 은닉 상태인 Y가 로봇의 위치 좌표에 해당하고 입력이 센서에 의한 일부 측정에 해당하는 은닉 마르코프 모델을 사용하는 것입니다. 전환 분포는 동작의 불확실성으로 인해 로봇이 다른 위치에 있을 수 있는 확률을 포착하는 반면 방출 분포는 측정 부정확성을 설명하기 위해 센서에서 얻은 측정에 대한 분포를 갖습니다. 숨겨진 Markov 모델은 주어진 시간 단계에서 로봇 위치의 확률을 계산하는 현지화에 사용할 수 있습니다.

  • 00:25:00 이 섹션에서 발표자는 HMM(Hidden Markov Models)과 관련된 작업을 분류할 수 있는 네 가지 광범위한 범주를 설명합니다. 이러한 범주에는 모니터링, 예측, 모호성 제거 및 가장 가능성 있는 설명이 포함됩니다. 모니터링 작업의 경우 사용되는 알고리즘을 정방향 알고리즘이라고 합니다. 그것은 주어진 X에 대한 Y의 확률을 계산할 수 있는 이전의 모든 측정이 주어진 이전 숨겨진 상태의 확률 측면에서 쿼리의 재귀적 분해를 포함합니다. 알고리즘은 첫 번째 숨겨진 상태가 주어진 첫 번째 숨겨진 상태를 계산하여 작동합니다. 측정한 다음 해당 시간 단계까지 측정이 주어진 다음 숨겨진 상태를 계산하고 시간을 앞으로 이동하여 시퀀스를 계속 증가시킵니다.

  • 00:30:00 이 섹션에서 강사는 주어진 현재 상태에서 시스템의 미래 상태를 예측하는 HMM(Hidden Markov Models)을 사용한 예측 작업에 대해 설명합니다. 이 작업의 예로는 날씨 및 주식 시장 예측이 있습니다. 계산은 모니터링과 예측의 두 단계가 있는 정방향 알고리즘을 사용하여 모니터링과 유사하게 수행됩니다. 제공된 예에서 강사는 X1 및 X2만 주어진 Y4의 확률을 계산하는 방법을 보여줍니다. 강사는 또한 예측 기능이 있는 HMM이 텍스트 생성에 사용될 수 있다고 언급합니다. 여기서 모델은 현재 텍스트가 주어진 다음 관찰 가능한 텍스트를 예측합니다.

  • 00:35:00 이 섹션에서 강사는 필터링, 스무딩 및 사후 확인 추론을 포함하는 HMM(Hidden Markov Models)의 작업에 대해 설명합니다. 필터링은 과거 관찰을 기반으로 시스템의 현재 상태를 예측하는 것을 의미하고 평활화는 해당 상태 전후의 관찰을 사용하여 이전 상태를 예측하는 것을 의미합니다. Hindsight 추론은 해당 상태 전후의 관찰을 통해 과거 상태의 속성을 계산하는 것입니다. 강사는 HMM이 더 이상 이러한 작업을 위한 최신 기술이 아니지만 더 효과적인 경향이 있는 순환 신경망의 선구자임을 강조합니다. 이러한 작업에 대한 계산은 재귀 방식으로 수행되어 정방향 알고리즘을 생성합니다.

  • 00:40:00 이 섹션에서 발표자는 음성 인식 및 기계 번역을 위한 HMM(Hidden Markov Models)의 사용에 대해 논의합니다. HMM은 일련의 입력 및 숨겨진 상태를 기반으로 가장 가능성이 높은 출력 시퀀스를 계산하는 데 사용됩니다. Viterbi 알고리즘은 최대화를 수행하기 위해 이러한 동적 프로그래밍 절차에 적용됩니다. 노년층이 보행에 사용하는 센서 측정 및 워커 장치를 이용한 활동 인식 응용에 대해서도 논의합니다. 워커가 있는 사람의 활동을 추론하면 추락으로 이어지거나 추락을 유발할 수 있는 가장 가능성이 높은 조작을 결정하는 데 도움이 됩니다. 이는 워커가 안정성을 위해 사용됨에도 불구하고 일부 상황에서 발생하는 것으로 관찰되었습니다.

  • 00:45:00 이 섹션에서 연사는 센서와 카메라가 장착된 개조된 보행기를 사용하여 은퇴 시설에서 노인들의 활동에 대한 데이터를 수집한 연구에 대해 논의합니다. 보행기에는 보행기 각 다리의 무게를 측정하는 3D 가속도계 및 하중 센서와 같은 센서와 다리를 뒤돌아 보는 카메라가 있습니다. 실험에는 참가자들이 일반적인 일상 활동을 시뮬레이션하는 장애물 코스를 통과하도록 하는 것이 포함되었습니다. 수집된 데이터는 참가자가 수행한 활동을 자동으로 인식하는 Hidden Markov 모델을 개발하는 데 사용되었습니다. 이 모델에는 센서용 8개 채널이 있으며 기계 학습을 사용하여 초기 전이 및 방출 분포의 매개변수를 추정했습니다.

  • 00:50:00 이 섹션에서 발표자는 센서 측정값을 기반으로 사람의 활동을 예측하는 알고리즘의 시연에 대해 논의합니다. 이 알고리즘은 숨겨진 마르코프 모델 또는 조건부 무작위 필드를 사용하여 사람의 활동 및 출력 예측을 추적한 다음 수동으로 레이블이 지정된 올바른 행동과 비교합니다. 사람의 활동은 변동하는 곡선으로 시각적으로 표시되며 비디오의 오른쪽 패널에는 올바른 행동을 나타내는 빨간색 사각형과 알고리즘의 예측을 나타내는 파란색 사각형으로 표시된 13개의 개별 활동이 표시됩니다. 발표자는 이론적으로는 가능하지만 센서를 착용한 사람이 자신의 활동을 표시하도록 하는 것은 사람이 항상 자신의 움직임을 신뢰할 수 있는 판단자가 아닐 수 있고 누군가가 자신의 행동을 지속적으로 발표하는 것이 어색할 수 있기 때문에 실용적이지 않다고 설명합니다. 또한 비지도 학습을 사용하는 경우 알고리즘은 활동을 추론하지만 정확하게 이름을 지정할 수 없습니다.

  • 00:55:00 이 섹션에서 발표자는 활동 인식의 맥락에서 지도 학습과 비지도 학습 모두에 대한 접근 방식에 대해 논의합니다. 감독 학습의 경우 Y가 알려져 있으며 목표는 데이터의 우도를 최대화하는 것입니다. 논의된 한 가지 접근 방식은 도함수를 계산하고, 이를 0으로 설정하고, 매개변수를 분리하고, pi theta 및 phi에 대한 값과 추정치를 얻는 것입니다. 두 활동 및 이진 측정의 경우 모델의 공동 분포를 확장하고 도함수를 0으로 설정할 수 있습니다. 결과 응답은 자연스럽고 데이터의 클래스 수 비율을 포함합니다.

  • 01:00:00 이 섹션에서 강사는 수집된 데이터가 종종 연속적이기 때문에 실제 응용 프로그램에서 일반적으로 사용되는 가우시안 방출 분포의 사용에 대해 논의합니다. 이 방법은 수집된 데이터의 경험적 평균 및 분산에 해당하는 평균 및 분산 매개변수를 사용하는 것입니다. 초기 및 전이 분포에 대한 솔루션은 이전과 동일하지만 전이 분포는 상대 빈도 수에 해당합니다. 그런 다음 최대 우도를 사용하여 이러한 솔루션을 얻습니다. 이 기술은 가우시안 혼합에 대한 솔루션과 유사하며 초기 및 방출 분포도 있습니다.
 

CS480/680 강의 18: 순환 및 순환 신경망



CS480/680 강의 18: 순환 및 순환 신경망

이 강의에서 발표자는 고정 길이가 없는 순차적인 데이터에 적합한 모델로 순환 및 재귀 신경망을 소개합니다. 순환 신경망은 출력이 입력으로 피드백되는 특정 노드로 인해 모든 길이의 시퀀스를 처리할 수 있으며 매 단계에서 H가 계산되는 방식은 가중치 공유와 관련된 동일한 함수 f를 사용하는 것입니다. 그러나 그들은 초기 입력 및 예측 드리프트의 정보를 기억하지 못하는 것과 같은 한계로 어려움을 겪을 수 있습니다. 강사는 또한 입력 및 출력 시퀀스가 자연스럽게 일치하지 않는 애플리케이션을 위해 두 개의 RNN(인코더와 디코더)을 활용하는 양방향 반복 신경망(BRNN) 아키텍처와 인코더-디코더 모델에 대해 설명합니다. 또한 강사는 기울기 소실 문제를 완화하고, 장기 종속성을 촉진하고, 정보 흐름을 선택적으로 허용하거나 차단할 수 있는 장단기 기억(LSTM) 장치의 이점에 대해 설명합니다.

순환 및 재귀 신경망에 대한 이 강의는 기울기 문제를 방지하기 위한 LSTM(Long Short-Term Memory) 및 GRU(Gated Recurrent Unit) 단위의 사용과 기계 번역에서 어텐션 메커니즘의 중요성을 포함한 다양한 주제를 다룹니다. 문장의 의미와 단어 정렬을 유지하기 위해. 강사는 또한 순환 신경망이 시퀀스, 그래프 및 트리에 대한 순환 신경망으로 일반화되는 방법과 구문 분석 트리를 사용하여 문장을 구문 분석하고 문장 임베딩을 생성하는 방법에 대해 설명합니다.

  • 00:00:00 영상의 이 섹션에서 화자는 고정 길이가 없는 순차 데이터에 적합한 모델로 순환 및 재귀 신경망을 소개합니다. 앞에서 설명한 피드포워드 신경망은 고정 길이 입력을 가정하므로 시계열 데이터 또는 기계 번역과 같은 가변 길이 데이터를 처리할 때 문제가 발생합니다. 출력이 입력으로 피드백되는 특정 노드가 있는 순환 신경망은 모든 길이의 시퀀스를 처리할 수 있습니다. 발표자는 템플릿과 네트워크의 펼쳐진 버전을 사용하여 이를 설명합니다. 트리 또는 그래프로 일반화되는 재귀 신경망에 대해서도 설명합니다.

  • 00:05:00 이 섹션에서 발표자는 순환 신경망이 서로 다른 시간 단계에서 연결되는 방식과 학습 방식에 대해 설명합니다. RNN을 훈련하기 위해 연사는 시간에 따른 역전파(backpropagation through time)라는 기술과 함께 경사 하강법이 사용된다고 설명합니다. 화자는 또한 모든 시간 단계에서 H가 계산되는 방식이 가중치 공유와 관련된 동일한 함수 f를 사용하는 것임을 언급합니다. 함수 f는 이전 H와 현재 X 모두에서 입력을 받고 이에 사용된 가중치는 모든 시간 단계에서 동일합니다.

  • 00:10:00 이 섹션에서는 강사가 반복 신경망(RNN)과 가중치 공유에 대해 설명합니다. RNN은 동일한 가중치를 공유하면서 매 단계마다 동일한 기능을 반복적으로 사용하는 네트워크입니다. 이는 가중치 공유가 발생하여 역전파 동안 그래디언트의 유도를 다르게 만들 수 있음을 의미합니다. 강사는 또한 H는 일반적으로 벡터이고 F는 벡터를 출력하는 함수라고 언급합니다. 이 효과는 1보다 작거나 큰 요인을 곱하면 기울기가 사라지거나 폭발할 수 있는 기울기 소실 및 폭발 문제를 포함하여 훈련에 대한 문제를 만듭니다.

  • 00:15:00 강의의 이 섹션에서 발표자는 순환 신경망(RNN)의 한계와 초기 입력의 정보를 기억하지 못하는 방법에 대해 논의합니다. 이는 첫 번째 단어가 마지막 단어만큼 중요한 기계 번역과 같은 응용 프로그램에서는 문제가 될 수 있습니다. 그러나 활동 인식과 같은 활동의 경우 최근 측정이 더 중요하기 때문에 RNN이 얼마 전에 발생한 센서 측정을 잊어도 괜찮을 수 있습니다. RNN의 또 다른 문제는 예측 드리프트로, 시간이 지남에 따라 예측의 오류가 누적되어 예측이 드리프트됩니다. 발표자는 또한 RNN을 은닉 마르코프 모델(HMM)과 비교하고 RNN을 사용하여 HMM을 일반화하는 방법을 설명합니다.

  • 00:20:00 이 섹션에서 화자는 숨겨진 Markov 모델과 순환 신경망의 차이점을 설명합니다. 숨겨진 Markov 모델에서 화살표는 확률적 종속성을 나타내고 순환 신경망에서 화살표는 기능적 종속성을 나타냅니다. 화자는 순환 신경망에서 숨겨진 상태와 출력을 소개하고 그래프가 계산에 해당한다고 설명합니다.
    끝 나가고있다. 은닉 상태는 이전 은닉 상태와 입력을 취하는 함수를 사용하여 계산되고, 은닉 상태를 입력으로 취하는 또 다른 함수를 사용하여 출력을 얻습니다. 궁극적으로 목표는 이 계산을 사용하여 확률을 계산하거나 활동을 인식하는 것입니다.

  • 00:25:00 이 섹션에서는 분류, 특히 활동 인식의 맥락에서 숨겨진 마르코프 모델을 에뮬레이션하기 위해 순환 신경망을 사용하는 개념에 대해 설명합니다. RNN은 출력에서 숨겨진 상태를 분리하는 데 사용됩니다. 즉, 출력은 일부 기능을 통해 변환된 숨겨진 상태에 따라 달라집니다. 이에 대한 예는 HT에 적용된 비선형 활성화 함수와 출력을 변환하기 위한 다양한 가중치 세트를 사용하여 표시됩니다. RNN의 순방향 알고리즘은 Hidden Markov Model과 유사하게 X1을 기반으로 y1, X1과 X2를 기반으로 y2 등을 계산할 수 있지만, RNN은 y2를 계산할 때 문제가 발생하는데, 이에 대해서는 강의 뒷부분에서 다룹니다.

  • 00:30:00 이 섹션에서 강사는 순방향 계산만 허용하는 단방향 순환 신경망 아키텍처의 한계에 대해 논의하고 이 문제에 대한 해결책으로 양방향 순환 신경망(BRNN) 아키텍처를 소개합니다. 강사는 순방향 및 역방향 숨겨진 상태, 입력 및 출력을 포함하는 BRNN 아키텍처의 다이어그램을 그립니다. BRNN 아키텍처는 전후 숨겨진 상태를 통해 전후 정보를 집계하여 양방향 계산을 허용하고 양방향 입력을 기반으로 예측을 계산할 수 있습니다.

  • 00:35:00 비디오의 이 섹션에서 강사는 기계 번역, 질문 응답 및 대화형 에이전트와 같이 입력 및 출력 시퀀스가 자연스럽게 일치하지 않는 애플리케이션에서 순환 신경망을 사용할 수 있는 방법에 대해 설명합니다. 이러한 문제를 해결하기 위해 인코더 디코더 모델 또는 시퀀스 대 시퀀스 모델로 알려진 다른 아키텍처가 자주 사용됩니다. 이 아키텍처는 두 개의 RNN(인코더와 디코더)을 사용합니다. 인코더는 입력 시퀀스를 입력의 임베딩인 컨텍스트 벡터로 인코딩하고 디코더는 컨텍스트 벡터를 사용하여 해당 출력 시퀀스를 생성합니다. 이 접근 방식은 길이가 다른 입력 및 출력 시퀀스를 허용하며 입력 및 출력의 단어 간에 동기화가 없습니다.

  • 00:40:00 강의의 이 섹션에서 강사는 반복 신경망을 사용하여 입력 문장을 컨텍스트 벡터(C)로 요약하는 기계 번역의 시퀀스-시퀀스 모델의 아키텍처를 설명합니다. 모델의 기억 컨텍스트 벡터는 각 단어가 서로 다른 출력에 해당하는 일련의 번역된 단어를 디코딩하고 생성하는 데 사용됩니다. 또한 이 모델은 숨겨진 상태를 사용하여 변환 진행 상황을 추적하고 컨텍스트 벡터의 정보가 시간이 지남에 따라 잊혀지지 않도록 합니다. 강사는 번역된 문장의 일관성을 보장하기 위해 디코딩 프로세스의 각 단계에 컨텍스트 벡터와 이전 숨겨진 상태를 모두 공급하는 것이 유용하다고 설명합니다.

  • 00:45:00 비디오의 이 섹션에서 교수는 신경망의 정보 흐름에서 중복성을 사용하는 방법에 대해 논의합니다. 정보를 인코딩하는 데 사용되는 벡터는 일반적으로 고차원이며 500-1000개의 값을 가질 수 있으므로 전체 문장을 인코딩하는 데 이상적입니다. 비디오는 또한 순환 신경망을 사용하는 모델을 사용하여 달성한 번역의 예를 보여줍니다. 이 모델은 대규모 데이터 코퍼스에서 훈련되었으며 언어학이나 기계 번역의 복잡성에 대한 많은 지식이 필요 없이 기계 번역의 최신 기술과 일치할 수 있어 상당한 발전을 이루었습니다. 또한, LSTM(Long Short-Term Memory) 장치는 신경망의 장기 종속성을 개선하기 위해 1990년대에 제안되었습니다.

  • 00:50:00 이 섹션에서 강사는 LSTM(Long Short-Term Memory) 장치의 이점에 대해 논의합니다. 이 장치는 기울기 소멸 문제를 완화하고 장기간 정보를 기억할 수 있는 능력으로 인해 장기 종속성 학습을 용이하게 할 수 있습니다. 기간. LSTM 장치의 핵심은 입력, 망각 및 출력 게이트를 포함한 게이트의 도입입니다. 이 게이트는 0과 1 사이의 값을 입력, 숨겨진 상태 또는 출력과 곱하여 정보의 흐름을 조절합니다. 강사는 또한 LSTM 셀 아키텍처를 펼치고 각 링크에 게이트를 도입하여 이들 사이의 연결을 조절합니다. 이러한 수정을 통해 LSTM 장치는 정보의 흐름을 선택적으로 허용하거나 차단하고 기계 번역과 같은 작업에서 장기 기억을 용이하게 합니다.

  • 00:55:00 이 섹션에서는 강사가 순환 신경망의 일종인 LSTM(Long Short-Term Memory) 단위의 구조와 변형에 대해 설명합니다. LSTM 장치는 입력 게이트, 출력 게이트, 망각 게이트 및 메모리 게이트와 같은 정보 흐름을 조절하는 여러 게이트의 조합을 사용하여 구축됩니다. 이 게이트는 현재 X와 이전 숨겨진 상태를 입력으로 사용하고 새로운 정보를 허용할지 또는 이전 정보를 잊을지를 결정하는 0과 1 사이의 값을 출력합니다. 강사는 또한 최신 LSTM 장치가 메모리 저장을 위해 숨겨진 상태 대신 셀 상태를 사용하고 Y 대신 출력으로 H를 갖는다고 언급합니다. 강의는 LSTM 장치의 다른 게이트를 제어하는 특정 방정식을 설명하는 것으로 끝납니다.

  • 01:00:00 이 섹션에서 강사는 LSTM(Long Short-Term Memory) 단위가 작동하는 방식과 기울기 소멸 및 폭발과 같은 기울기 문제를 방지하는 데 유용한 방법을 설명합니다. 게이트는 네트워크의 메모리를 운반하는 셀 상태에 영향을 미칠 수 있는 것을 결정하는 데 사용된다고 설명됩니다. 강사는 또한 GRU(Gated Recurrent Unit)로 알려진 게이트 단위가 LSTM 단위의 단순화된 버전으로 2014년에 제안되었다고 언급합니다. GRU는 LSTM 장치에 사용된 게이트 중 하나를 제거합니다.

  • 01:05:00 이 섹션에서 발표자는 GRU(Gated Recurrent Unit)를 소개합니다. 이 장치는 리셋 게이트와 업데이트 게이트의 두 게이트만 가짐으로써 LSTM(Long Short-Term Memory) 장치를 단순화합니다. 업데이트 게이트는 새 입력이 숨겨진 상태로 전환되는지 또는 이미 입력된 내용을 보존하는지 여부를 결정합니다. 이렇게 하면 장치의 복잡성이 줄어들고 효율성이 높아져 성능이 향상됩니다. 그러나 GRU를 사용하더라도 여전히 모든 단계에서 교란되는 일부 메모리가 있으므로 기계 번역에서 특히 유용한 주의 메커니즘이 개발되어 각 출력 단어를 입력 시퀀스의 일부 단어와 정렬하여 모델이 다음을 수행할 수 있도록 합니다. 원래 문장의 의미를 보존하고 단어 간 정렬을 확인합니다.

  • 01:10:00 이 섹션에서는 일련의 단어를 디코딩하기 위해 컨텍스트 벡터의 개념을 소개했습니다. 컨텍스트 벡터는 인코딩 프로세스의 각 시간 단계와 관련된 모든 숨겨진 상태의 가중치 조합을 기반으로 합니다. 가중치는 의도한 출력과 입력 단어 사이에 정렬이 있을 때 더 높은 확률을 생성하는 소프트맥스를 통해 얻습니다. 정렬은 내적을 사용하여 계산되고 가능한 입력의 가중 조합을 계산할 수 있는 softmax를 통해 확률로 변환됩니다. 이렇게 함으로써 우리는 전체 문장을 요약하는 대신 생성하려는 다음 몇 단어에 대해 중요한 컨텍스트를 요약하는 컨텍스트 벡터를 만듭니다.

  • 01:15:00 이 섹션에서 강사는 기계 번역에서 어텐션 메커니즘의 사용에 대해 논의합니다. 어텐션 메커니즘은 마지막 은닉 상태를 컨텍스트 벡터로 사용하는 대신 각 시간 단계에서 계산된 은닉 상태의 볼록한 조합을 취하는 것을 포함합니다. 조합에 사용되는 가중치는 softmax에서 얻은 확률이며 이전 숨겨진 상태와 모든 이전 입력 간의 정렬을 계산하는 데 사용됩니다. 이를 통해 기계 번역 모델은 번역하려는 개념을 입력의 올바른 부분과 정렬할 수 있습니다. 어텐션을 사용하여 기계 번역이 개선되었으며 강사는 2015년에 어텐션을 사용한 저자가 얻은 몇 가지 결과를 제시합니다.

  • 01:20:00 강의의 이 섹션에서 연사는 기계 번역에서 긴 문장의 문제와 번역 과정에서 되돌아볼 수 있는 메커니즘을 갖는 것의 중요성에 대해 논의합니다. 연구자는 관심이 있는 경우와 없는 경우의 순환 신경망의 정확도를 비교하고 이중 언어 평가 연구(BLEU) 점수를 사용하여 정확도의 차이를 측정합니다. 주의를 사용하는 상단 곡선은 문장 길이가 늘어나도 일관된 수준의 정확도를 보여줍니다. 이는 위치에 관계없이 입력 시퀀스의 모든 단어가 디코딩의 다음 단계에 대한 컨텍스트 벡터에 영향을 미치도록 허용하는 어텐션 메커니즘 때문일 수 있습니다.

  • 01:25:00 이 섹션에서 강사는 긴 문장으로 작업할 때 반복 신경망의 한계와 이 문제를 해결하기 위한 주의 메커니즘의 중요성에 대해 논의합니다. 반복 신경망은 초기 단어를 후속 단어로 덮어쓰는 경향이 있어 긴 시퀀스를 처리할 때 번역 품질이 저하됩니다. 주의 메커니즘은 신경망이 임의 길이의 더 긴 시퀀스를 처리할 수 있도록 특정 단어에 집중함으로써 이 문제를 해결합니다. 어텐션 메커니즘은 또한 단어 정렬이 반드시 일대일로 정렬되지 않는 다른 언어를 처리하는 데 도움이 됩니다. 강사는 다른 언어로 된 단어의 정렬을 보여주는 번역 맵을 생성할 때 어텐션 메커니즘이 어떻게 작동하는지에 대한 예를 제공합니다.

  • 01:30:00 이 섹션에서 발표자는 순환 신경망이 시퀀스, 그래프 및 트리에 사용할 수 있는 순환 신경망으로 일반화되는 방법을 설명합니다. 핵심은 입력을 변환하고 입력의 의미를 캡처하는 출력 또는 임베딩을 생성하는 방식으로 입력을 재귀적으로 결합하는 것입니다. 다양한 길이의 입력을 처리하기 위해 화자는 그래프에서 서로 다른 노드를 결합하기 위한 규칙의 서로 다른 적용 간에 가중치 공유의 중요성을 강조합니다. 발표자는 구문을 반영하고 컴퓨팅 및 임베딩에 유용할 수 있는 그래프를 구축하기 위해 구문 분석 트리 또는 종속성 그래프를 사용할 것을 제안합니다.

  • 01:35:00 이 섹션에서 강사는 구성 구문 분석 트리를 사용하여 문장을 구문 분석하는 방법과 전체 문장에 대한 임베딩을 생성하는 방법에 대해 설명합니다. 아이디어는 문장 구조를 이해하기 위해 품사 태그의 일부를 제시하고 구와 구문 분석 트리로 결합하는 것입니다. 규칙을 각 변환과 연결하고 동일한 규칙의 모든 애플리케이션에서 가중치를 공유함으로써 인간이 문장을 이해하는 방식과 더 유망하고 일관된 임베딩을 생성할 수 있습니다. 일부 연구자들은 이러한 방식으로 임베딩을 구축함으로써 매우 좋은 결과를 얻을 수 있음을 보여주었습니다.

  • 01:40:00 비디오의 이 섹션에서 화자는 올바른 구문 분석 트리를 사용하여 더 나은 문장 임베딩을 얻을 수 있는 가능성에 대해 논의합니다. 그들은 이전 슬라이드 세트를 끝내고 다음 슬라이드로 이동합니다.
 

CS480/680 강의 19: 주의 및 변압기 네트워크



CS480/680 강의 19: 주의 및 변압기 네트워크

이 강의에서는 신경망에서의 어텐션의 개념을 소개하고, 트랜스포머 네트워크 개발에서의 어텐션의 역할에 대해 논의합니다. 주의는 처음에 컴퓨터 비전에서 연구되어 인간이 자연스럽게 특정 영역에 집중하는 것과 유사한 중요한 영역을 식별할 수 있습니다. 기계 번역에 주의를 기울이면 주의 메커니즘만 사용하고 기존 신경망만큼 좋은 결과를 생성하는 변환기 네트워크가 생성되었습니다. 트랜스포머 네트워크는 반복 신경망에 비해 이점이 있어 장거리 종속성, 기울기 소실 및 폭발, 병렬 계산과 관련된 문제를 해결합니다. 이 강의에서는 각 출력 위치가 입력에 주의를 기울이도록 하는 변압기 네트워크의 다중 헤드 주의를 탐구합니다. 변환기 네트워크에서 마스크, 정규화 계층 및 Donora 계층의 사용에 대해 논의하고 어텐션을 빌딩 블록으로 사용하는 개념을 탐구합니다.

어텐션과 트랜스포머 네트워크에 대한 이 강의에서 발표자는 문장에서 단어 순서를 유지하기 위한 위치 임베딩의 중요성뿐만 아니라 다른 레이어에서 기울기를 분리하기 위한 정규화의 중요성을 설명합니다. 발표자는 변환기 네트워크의 복잡성 추정치를 순환 및 컨벌루션 신경망과 비교하여 장거리 종속성을 캡처하고 단어를 동시에 처리하는 변환기 네트워크의 기능을 강조합니다. 정확도와 속도 면에서 인상적인 성능을 보여준 GPT, BERT, XLNet과 같은 트랜스포머 네트워크의 도입과 함께 확장성 향상과 경쟁 감소에 있어 트랜스포머 네트워크의 장점도 논의되어 순환 신경망의 미래에 대한 질문을 제기합니다.

  • 00:00:00 이 섹션에서 강사는 신경망의 주의 개념과 변환기 네트워크 개발에서의 역할을 소개합니다. 어텐션은 인간이 자연스럽게 특정 영역에 집중하는 방식과 유사하게 어텐션 메커니즘이 이미지의 관심 영역을 식별할 수 있다는 생각으로 컴퓨터 비전에서 처음 연구되었습니다. 그런 다음 이 개념은 기계 번역에 적용되었고 결국 어텐션 메커니즘으로만 구성되고 적어도 전통적인 신경망만큼 좋은 결과를 생성하는 것으로 나타난 변환기 네트워크의 생성으로 이어졌습니다. 어텐션은 물체 감지에서 물체의 위치와 같이 원하는 출력에 기여하는 이미지의 중요한 특징을 강조하는 데에도 사용할 수 있습니다.

  • 00:05:00 이 섹션에서 강사는 디코더가 입력 문장을 다시 볼 수 있었던 2015년의 획기적인 기계 번역 작업에서 볼 수 있듯이 인식 프로세스에서 어떻게 주의를 빌딩 블록으로 사용할 수 있는지에 대해 논의합니다. 2017년 연구원들은 어텐션을 사용하여 일반 언어 모델링 기술을 개발하여 시퀀스에서 누락된 단어를 예측하고 복구할 수 있음을 시연했습니다. 어텐션 블록을 독점적으로 사용하는 변환기 네트워크는 자연어 처리를 위한 최첨단 기술이 되며 GPU에서 장거리 종속성을 처리하고 병렬 계산을 최적화할 수 있는 능력으로 인해 순환 신경망을 능가합니다. 따라서 변환 네트워크는 자연어 처리 작업을 위한 효율적인 선택입니다.

  • 00:10:00 이 섹션에서 화자는 기존의 순환 신경망에 비해 어텐션 및 변환기 네트워크의 이점을 설명합니다. 어텐션 블록은 긴 범위 종속성 문제를 피하면서 시퀀스의 모든 부분 간의 연결을 그리는 데 도움이 됩니다. 또한 변환기 네트워크는 전체 시퀀스에 대해 동시에 계산을 수행하여 더 많은 병렬화와 더 적은 훈련 단계를 허용하고 그래디언트 소실 및 폭발 문제를 해결합니다. 연사는 또한 데이터베이스 검색을 위한 근사치의 한 형태로 어텐션을 검토하고 신경망의 어텐션 메커니즘에 사용되는 방정식을 소개합니다.

  • 00:15:00 이 섹션에서 화자는 유사성 함수가 분포를 계산하는 방법과 주의 메커니즘을 신경 아키텍처로 일반화할 수 있는 방법을 설명합니다. 발표자는 유사도를 측정하는 데 사용할 수 있는 dot product 및 scaled dot product를 포함한 다양한 함수를 제안하고 키와 쿼리 간의 유사도를 계산하는 데 어떻게 적용할 수 있는지 설명합니다. 화자는 또한 어텐션 메커니즘에 해당하는 검색 프로세스에서 유사성이 높은 값의 가중 조합에 대한 아이디어를 소개합니다.

  • 00:20:00 강의의 이 섹션에서 교수는 주의 메커니즘의 첫 번째 계층을 자세히 설명합니다. 계층은 쿼리와 메모리의 각 키 간의 유사성을 계산합니다. 유사성을 계산하는 가장 일반적인 방법은 내적을 통하거나 차원의 제곱근으로 나누어 내적을 스케일링하는 것입니다. 또 다른 방법은 가중치 행렬을 사용하여 쿼리를 새 공간에 투영한 다음 내적을 취하는 것입니다. 이 단계를 통해 신경망은 매핑 W를 학습하여 쿼리와 키 간의 유사성을 보다 직접적으로 비교할 수 있습니다.

  • 00:25:00 이 섹션에서는 softmax 기능을 사용하는 완전히 연결된 네트워크에서 주의 값이 계산되는 방법에 대해 설명합니다. 가중치는 질의를 다양한 키와 비교하여 유사도를 구하는 표현식을 사용하여 계산되며, 이를 모든 키에 가중치를 부여하는 데 사용됩니다. 주의 값은 모든 키와 관련된 값의 선형 조합을 사용하여 계산됩니다. 행렬 W로 표시되는 가중치는 역전파를 통해 신경망에 의해 학습되어 W에 의해 확장된 공간으로 Q의 투영을 최적화합니다. 결과 가중치는 출력을 생성하는 데 사용되며 출력 단어당 하나의 가중치와 숨겨진 벡터가 있습니다. VI로 사용되는 각 입력 단어와 연관됩니다.

  • 00:30:00 이 섹션에서 강의는 어텐션 메커니즘과 트랜스포머 네트워크에 대해 설명합니다. 어텐션 메커니즘은 출력 단어에 대한 숨겨진 벡터와 입력 단어에 대한 숨겨진 벡터를 결합하여 컨텍스트 벡터를 생성하는 방법입니다. 2017년에 발표된 변압기 네트워크는 순차 데이터의 반복을 제거하여 최적화 속도를 높이고 작업을 병렬화합니다. 기계 번역의 변환기 네트워크는 인코더와 디코더의 두 부분으로 구성됩니다. 인코더는 다중 헤드 어텐션과 피드포워드 신경망을 통해 단어의 전체 시퀀스를 병렬로 처리하고 단어 위치 지정을 설명하는 위치 인코딩을 추가합니다.

  • 00:35:00 이 섹션에서 강의는 모든 위치와 다른 모든 위치 사이에서 주의를 계산하는 다중 헤드 주의 메커니즘을 설명합니다. 멀티 헤드 어텐션은 모든 단어를 취하여 어텐션 메커니즘을 통해 문장의 다른 일부 단어와 결합하여 단어 쌍의 정보를 병합하는 더 나은 임베딩을 생성합니다. 이 강의에서는 잔여 연결을 추가하는 Donora 레이어에 대해서도 논의합니다. 이 레이어는 멀티 헤드 어텐션에서 나오는 원래 입력을 취한 다음 이를 정규화합니다. 모델이 단어 쌍, 쌍 쌍 등을 결합할 수 있도록 블록이 여러 번 반복됩니다. 이 프로세스의 출력은 임베딩 시퀀스이며 문장의 위치당 하나의 임베딩이 있습니다. 그런 다음 강의에서는 각 위치에서 레이블을 출력할 확률을 생성하는 softmax를 사용하여 일부 출력을 생성하는 디코더를 탐색합니다. 디코더는 또한 두 개의 어텐션 레이어를 포함하는데, 첫 번째 레이어는 출력 단어 사이의 셀프 어텐션이고 두 번째 레이어는 출력 단어와 입력 단어를 결합합니다.

  • 00:40:00 이 섹션에서 발표자는 Transformer Networks의 다중 헤드 어텐션 메커니즘에 대해 설명합니다. 이 메커니즘은 출력의 각 위치가 입력의 위치에 참석하는지 확인하는 데 사용됩니다. 다중 헤드 어텐션은 쿼리로 키-값 쌍을 분해하고 이를 키와 비교하여 가장 높은 가중치를 찾고 해당 값의 가중치 조합을 취하여 출력을 생성하는 방식으로 작동합니다. 이 프로세스는 사전의 단어에 대한 분포가 생성될 때까지 서로 다른 투영을 계산하고 임베딩을 개선하기 위해 서로 다른 선형 조합으로 여러 번 반복됩니다.

  • 00:45:00 강의의 이 섹션에서 교수는 멀티 헤드 어텐션의 개념과 이를 컨볼루션 신경망의 기능 맵과 비교할 수 있는 방법에 대해 논의합니다. 멀티헤드 어텐션의 다양한 선형 조합은 값이 있는 공간을 투영하거나 변경하는 서로 다른 필터로 생각할 수 있습니다. 이로 인해 CNN의 여러 기능 맵에 해당하는 여러 규모의 내적 주의가 발생합니다. 접촉 레이어는 이러한 서로 다른 어텐션을 연결하고 결국 이들의 선형 조합은 다중 헤드 어텐션을 초래합니다. 또한 교수는 마스크 멀티헤드 어텐션에 대해 설명합니다. 마스크 멀티헤드 어텐션은 향후 단어에 대한 종속성을 생성하는 링크를 무효화하거나 제거하여 기계 번역 작업에 적합하도록 만듭니다.

  • 00:50:00 비디오의 이 섹션에서는 Transformer 네트워크의 맥락에서 마스크 사용에 대해 설명합니다. 발표자는 softmax 함수에서 특정 연결을 무효화하기 위해 마스크를 사용하는 방법과 음의 무한대 값을 가진 마스크를 사용하여 적절한 분포가 유지되는 방법을 설명합니다. 발표자는 또한 교육 중에 마스크를 사용하여 병렬 계산을 허용하는 방법과 교사 강제 기술이 교육 중에 입력과 출력을 분리하는 방법에 대해 설명합니다.

  • 00:55:00 비디오의 이 섹션에서는 Transformer Networks의 정규화 계층의 중요성에 대해 설명합니다. 정규화 계층은 가중치 설정 방법에 관계없이 각 계층의 출력이 평균 0과 분산 1을 갖도록 하므로 네트워크를 최적화하기 위해 경사 하강법에 필요한 단계 수를 줄이는 데 도움이 됩니다. , 출력의 크기가 동일하므로 레이어 간의 그래디언트 경쟁이 줄어들고 수렴 속도가 빨라집니다. 레이어 정규화는 단일 히든 유닛이 아닌 레이어 수준에서 정규화하므로 배치 정규화와 다르므로 소규모 배치 또는 온라인 또는 스트리밍 설정에서 한 번에 하나의 데이터 포인트에 적합합니다.

  • 01:00:00 비디오의 이 섹션에서 발표자는 그래디언트가 여러 레이어에서 진화하는 방식을 분리하기 위한 정규화의 중요성에 대해 논의합니다. 그들은 또한 변환기 네트워크에서 입력 임베딩 후에 추가되는 위치 임베딩의 주제를 탐구합니다. 위치 임베딩은 어텐션 메커니즘이 위치 정보를 캡처할 수 있도록 보장하며, 이는 문장에서 단어의 순서를 유지하는 데 중요합니다. 발표자는 위치 임베딩이 엔지니어링 핵이라고 설명하고 이를 계산하는 데 사용되는 공식에 대해 논의하지만 네트워크의 이러한 측면에 접근하는 방법은 다를 수 있음을 언급합니다.

  • 01:05:00 강의의 이 섹션에서 화자는 변환기 네트워크의 복잡성 추정치를 순환 신경망 또는 컨볼루션 신경망의 복잡성 추정치와 비교합니다. Self-Attention 네트워크라고도 하는 변환기 네트워크는 Attention 메커니즘이 한 레이어의 각 위치에 대한 다른 모든 위치에 주의를 기울이는 동시에 임베딩도 계산하기 때문에 n 제곱의 복잡성을 가집니다. 그러나 변환기 네트워크는 첫 번째 단어에서 정보를 잃지 않고 단어 쌍 사이에 정보가 즉시 흐르도록 하여 장거리 종속성을 캡처하는 데 효과적입니다. 또한 변압기 네트워크에는 순차적인 작업이 없으므로 모든 단어를 동시에 병렬로 처리할 수 있습니다. 반대로 순환 신경망은 순차 연산과 경로 길이가 최대 n일 수 있습니다.

  • 01:10:00 강의의 이 섹션에서 발표자는 변압기 네트워크의 이점, 특히 경쟁을 줄이고 확장성을 향상시키는 능력에 대해 논의합니다. 그런 다음 스피커는 기계 번역을 위한 다양한 모델, 특히 영어에서 독일어로, 영어에서 프랑스어로의 번역을 비교하고 변환기 모델이 반드시 뛰어난 결과를 생성하지는 않지만 계산 시간을 대폭 줄여 교육을 위한 보다 효율적인 옵션이 된다는 것을 보여줍니다. . 연사는 비지도 언어 모델링을 위해 2018년에 제안된 GPT 및 GPT-2와 같은 다른 유형의 변환기 네트워크에 대해서도 논의합니다.

  • 01:15:00 이 섹션에서는 비디오에서 GPT 및 BERT라는 두 가지 유형의 변압기 네트워크를 소개합니다. GPT는 독해, 번역, 요약, 질의 응답 등 다양한 작업에 사용할 수 있는 언어 모델입니다. 모델은 이전 출력에 주의를 기울여 향후 출력에 주의를 기울이지 않고 일련의 단어를 생성합니다. 연구자들은 네트워크를 특정 작업에 맞게 조정하지 않고 이를 다른 작업에 적용했으며 완전히 감독되지 않은 방식으로 최신 기술에 근접할 수 있음을 발견했습니다. BERT는 변환기의 양방향 인코딩 표현을 나타내며 주요 발전은 이전 단어와 미래 단어를 모두 기반으로 단어를 예측하여 GPT보다 우수하다는 것입니다.

  • 01:20:00 이 섹션에서 강사는 변압기 네트워크, 특히 BERT 및 XLNet의 발전에 대해 설명합니다. BERT는 작업별 데이터로 모델을 미세 조정하는 기능을 자랑하며, 그 결과 11개 작업에 대한 최신 기술이 크게 향상되었습니다. 그러나 XLNet은 누락된 입력을 허용하고 결과적으로 일반화할 때 더 나은 성능으로 인해 대부분의 작업에서 BERT를 능가하는 훨씬 더 인상적인 성능을 발휘했습니다. 이러한 변환기 네트워크는 정확도와 속도 측면에서 우수한 성능을 발휘하는 것으로 입증되어 순환 신경망의 미래에 대한 의문을 제기합니다.
 

CS480/680 강의 20: 자동 인코더



CS480/680 강의 20: 자동 인코더

오토인코더는 엔코더-디코더와 밀접하게 관련된 네트워크 제품군을 말하며 차이점은 오토인코더가 입력을 받아 동일한 출력을 생성한다는 것입니다. 압축, 노이즈 제거, 희소 표현 획득 및 데이터 생성에 중요합니다. 선형 자동 인코더는 고차원 벡터를 더 작은 표현으로 매핑하여 압축을 달성하는 동시에 정보가 손실되지 않도록 하고 가중치 행렬을 사용하여 입력에서 압축 표현으로의 선형 변환을 계산합니다. 또한 심층 자동 인코더는 정교한 매핑을 허용하는 반면, 확률적 자동 인코더는 데이터 생성에 사용할 수 있는 중간 표현 및 입력에 대한 조건부 분포를 생성합니다. 오토인코더에 의한 비선형 함수의 사용은 비선형 매니폴드, 즉 데이터의 본질적인 차원을 캡처하는 저차원 공간으로의 투영을 활용하여 입력의 무손실 압축을 유도합니다.

  • 00:00:00 Autoencoder 강의의 이 섹션에서 발표자는 자동 인코더가 인코더-디코더와 밀접하게 관련된 네트워크 제품군이라고 설명합니다. 차이점은 Autoencoder가 입력을 받아 동일한 출력을 생성한다는 것입니다. Autoencoder는 압축, 노이즈 제거, 희소 표현 획득 및 데이터 생성과 같은 작업에 중요합니다. 압축에는 정보가 손실되지 않도록 하면서 고차원 벡터를 더 작은 표현으로 매핑하는 작업이 포함됩니다. 이를 달성하기 위해 입력은 더 작은 표현을 생성하는 인코더에 공급된 다음 압축된 표현이 입력의 모든 정보를 갖도록 입력으로 다시 디코딩됩니다. 선형 자동 인코더는 가중치 행렬을 사용하여 입력에서 압축된 표현으로 그리고 다시 입력으로의 선형 변환을 계산합니다.

  • 00:05:00 이 섹션에서 강사는 자동 인코더와 주성분 분석(PCA) 간의 연결을 설명합니다. 그는 PCA의 일반적인 용도는 데이터의 변화를 보존하면서 데이터를 더 낮은 차원의 초평면으로 투영하는 것이라고 지적합니다. 그러나 그는 또한 유클리드 거리를 최소화하기 위해 오토인코더(선형 매핑 포함)를 사용하면 PCA와 동일한 솔루션을 산출하므로 차원 축소에 유용한 도구가 된다고 설명합니다. 강사는 WG x WF가 X를 산출하기 때문에 오토인코더의 행렬 WF와 WG가 기본적으로 서로의 역수(또는 의사 역수)임을 강조합니다.

  • 00:10:00 이 섹션에서 강사는 오토인코더가 PCA와 달리 선형 매핑에 제한되지 않는다는 장점을 설명합니다. 대신, 오토인코더는 비선형 함수를 사용하여 데이터의 숨겨진 표현을 찾을 수 있으며, 이는 비선형 다양체를 통해 더 낮은 차원 공간에 투영될 수 있습니다. 이 매니폴드는 데이터의 본질적인 차원을 캡처할 수 있으며, 이는 입력의 무손실 압축으로 이어질 수 있습니다. 그러나 H의 최적 차원을 결정하려면 구조 학습을 위한 특정 기술이 필요합니다.

  • 00:15:00 이 섹션에서 비디오는 깊은 자동 인코더 및 희소 표현을 소개합니다. 깊은 오토인코더는 숨겨진 레이어에 도달하기 전에 여러 레이어를 가지고 있어 정교한 매핑을 허용하는 반면, 희소 표현은 F에 의해 생성된 벡터에서 0이 아닌 항목의 수를 최소화하여 중간 표현에 구조를 부과합니다. 이는 비볼록 최적화 또는 출력의 l1 규범을 최소화하기 위해 l1 정규화를 사용합니다. 또한 비디오는 손상된 버전의 입력을 입력하고 원래 X를 복구하려고 시도하여 노이즈 제거를 위해 자동 인코더를 사용하는 예를 제공합니다.

  • 00:20:00 이 섹션에서 강사는 조건부 분포에 중점을 두기 때문에 결정론적 오토인코더와 다른 확률적 또는 확률적 오토인코더에 대해 설명합니다. 결정적 자동 인코더에서 인코더는 디코더가 입력을 재구성하는 데 직접 사용할 수 있는 중간 표현을 생성하는 반면, 확률적 자동 인코더는 중간 표현 및 입력에 대한 조건부 분포를 생성합니다. 적절한 마지막 활성화 함수를 사용하여 신경망을 설계하면 마지막 계층을 사용하여 분포로 해석할 수 있는 패턴을 생성할 수 있습니다. 출력 레이어의 선형 단위는 실제 데이터에 대한 조건부 분포를 인코딩하는 데 사용할 수 있는 반면 시그모이드 단위는 이진 데이터와 함께 사용할 수 있습니다. 강사는 이러한 확률적 오토인코더가 데이터 생성을 가능하게 한다는 점을 강조하는데, 이는 결정론적 오토인코더와 상당한 차이가 있습니다.

  • 00:25:00 강의의 이 섹션에서 발표자는 자동 인코더의 확률적 그래픽 모델을 설명합니다. 입력 X는 랜덤 변수로 간주되며 출력 X 물결표는 입력의 대략적인 버전입니다. H는 은닉층을 나타내는 또 다른 랜덤 변수이고 화살표는 조건부 종속성을 나타냅니다. 가중치는 조건부 분포로 표시되며 디코더는 조건부 분포입니다. 다양한 유형의 출력을 생성하기 위해 다양한 활성화 기능이 사용됩니다. 발표자는 또한 이진 및 가우시안 벡터 모두에 대해 H에 대한 분포를 기반으로 X에 대한 분포를 계산하는 방법에 대해 설명합니다.

  • 00:30:00 이 섹션에서 강사는 확률적 자동 인코더와 같은 아키텍처를 사용하여 데이터를 생성하는 방법을 설명합니다. 결정론적 오토인코더를 사용하면 디코더가 임베딩을 수행하고 데이터 포인트를 생성합니다. 그러나 분포를 가짐으로써 중간 표현에 대한 일부 분포에서 샘플링하여 데이터 포인트를 생성하는 데 사용할 수 있습니다. 예를 들어 확률적 오토인코더를 얼굴로 훈련하면 숨겨진 표현에서 쉽게 샘플링한 다음 데이터 세트의 얼굴과 다르지만 유사한 새 얼굴을 생성할 수 있습니다. 이미지 분포에서 샘플링하여 이미지를 얻습니다.

  • 00:35:00 이 섹션에서 발표자는 확률적 자동 인코더를 사용하여 새 이미지를 생성하는 방법에 대해 설명합니다. 연사는 근처 지점이 새 이미지로 디코딩될 수 있는 공간에서 입력 데이터 지점을 임베딩에 매핑하여 오토인코더가 새 이미지를 생성하는 방법을 설명합니다. 그러나 화자는 진정으로 새로운 이미지를 생성하기 위해서는 적절한 임베딩의 샘플링을 허용하는 분포가 필요하다고 지적합니다. 오토인코더에서 사용되는 분포는 입력 데이터 포인트 X에 따라 달라지므로 유사한 이미지가 생성될 수 있습니다. 이 한계를 극복하기 위해 다음 슬라이드 세트에서는 H로 직접 샘플링하고 새 이미지를 생성하는 메커니즘에 대해 설명합니다.
 

CS480/680 강의 21: 생성 네트워크(변형 자동 인코더 및 GAN)



CS480/680 강의 21: 생성 네트워크(변형 자동 인코더 및 GAN)

이 강의는 VAE(Variational Autoencoder) 및 GAN(Generative Adversarial Networks)과 같은 네트워크를 통해 데이터를 출력으로 생성할 수 있는 생성 네트워크에 중점을 둡니다. VAE는 인코더를 사용하여 원래 공간의 데이터를 새 공간으로 매핑한 다음 디코더를 사용하여 원래 공간을 복구합니다. 강사는 교육에 필요한 분포의 적분을 계산하는 데 있어 VAE의 개념과 과제를 설명합니다. GAN은 두 개의 네트워크(생성기 및 판별기)로 구성되며 여기서 생성기 네트워크는 새로운 데이터 포인트를 생성하고 판별기 네트워크는 생성된 데이터와 실제 데이터를 구별하려고 시도합니다. 네트워크의 강점과 글로벌 컨버전스 달성 사이의 균형을 보장하는 것을 포함하여 GAN 구현의 과제에 대해 논의합니다. 강의는 생성된 이미지의 예와 다음 강의 미리보기로 끝납니다.

  • 00:00:00 강의의 이 섹션에서는 생성 네트워크와 이를 데이터 생성에 사용할 수 있는 방법에 중점을 둡니다. 분류와 회귀가 지금까지 과정에서 다루는 주요 기술이었지만 생성 네트워크는 데이터를 출력으로 생성할 수 있습니다. 이는 자연어 생성, 음성 합성, 이미지 및 비디오 생성에 특히 유용합니다. Variational auto-encoder 및 Generative adversarial network는 현재 데이터 생성에 사용되는 가장 인기 있는 네트워크 중 하나입니다. 이러한 네트워크는 데이터 세트에서 찾은 것과 유사한 실제 데이터를 생성하는 데 사용됩니다.

  • 00:05:00 이 섹션에서 강사는 확정적 인코더 대신 조건부 분포를 인코딩하는 확률적 인코더가 있는 확률적 자동 인코더의 아이디어에 대해 논의합니다. 마찬가지로 디코더도 조건부 분포이며 데이터에 대한 분포를 생성하여 새로운 데이터 포인트를 생성할 수 있는 생성기로 생각할 수 있습니다. Variational autoencoder는 고정된 분포, 평균 0과 분산 1의 가우시안에서 숨겨진 벡터 H를 샘플링하는 데 사용되며, 그런 다음 H에 대한 인코더의 분포를 X에 가능한 한 근접하게 만드는 목적을 구성합니다. 고정 분포로 좋은 샘플 결과를 보장합니다.

  • 00:10:00 이 섹션에서는 강사가 VAE(변형 자동 인코더)의 개념을 설명합니다. VAE는 인코더를 사용하여 원래 공간의 데이터를 새 공간으로 매핑한 다음 디코더를 사용하여 원래 공간을 복구합니다. 인코더는 디코더에 의해 원래 공간으로 다시 매핑될 수 있는 새 포인트를 샘플링하는 데 사용할 수 있는 분포를 생성합니다. 그러나 인코더의 분포는 생성된 데이터 포인트가 원본 데이터와 동일한 유형이 되도록 가능한 한 고정된 분포에 가까워야 합니다. 강의에서는 VAE의 목적 함수와 이 목표를 달성하기 위해 네트워크를 최적화하는 방법을 다룹니다.

  • 00:15:00 이 섹션에서 강사는 H에 대한 엔코더 분포의 적분과 모든 H에 대한 X에 대한 분포를 계산하는 문제에 대해 논의합니다. 이 적분은 엔코더와 디코더가 복잡하기 때문에 닫힌 형식으로 계산할 수 없습니다. 신경망. 이를 해결하기 위해 강사는 단일 샘플을 사용하여 적분을 근사하고 인코더에서 샘플링하여 H를 생성한 다음 디코더의 분포에 의해 결과 분포를 근사화할 것을 제안합니다. 근사는 훈련에서 이루어지며, 강사는 기울기를 계산하기 위해 신중한 고려가 필요한 샘플링 단계가 있기 때문에 이것이 일반 자동 인코더와 다르다는 점을 강조합니다.

  • 00:20:00 비디오의 이 섹션에서 연사는 변형 자동 인코더와 같은 생성 네트워크를 교육하는 데 사용되는 우선 순위 재지정 트릭을 설명합니다. 인코더 및 디코더 네트워크 아키텍처에는 샘플링 단계가 포함되어 있어 최적화 중에 그래디언트 계산이 어렵습니다. 이 문제를 해결하기 위해 고정된 가우시안 분포가 도입되어 새 변수 H 물결표를 샘플링할 수 있으며, 여기에 인코더의 출력 H를 곱하여 잠재 변수에 대한 최적의 평균 및 분산을 가진 분포를 얻습니다. 변환된 H는 재구성된 출력 X 물결표를 생성하기 위해 디코더 네트워크에서 사용됩니다.

  • 00:25:00 이 섹션에서 발표자는 신경망이 기울기의 역전파를 방해하지 않고 데이터 분포에서 샘플을 생성할 수 있도록 하는 "재매개변수화"라는 트릭을 설명합니다. 트릭은 다르지만 고정 가능한 분포(예: 가우시안)에서 샘플링한 다음 일부 수학적 연산을 사용하여 샘플을 원하는 분포의 샘플로 변환하는 것입니다. 이렇게 하면 샘플이 네트워크의 입력이 되어 역전파 중에 기울기가 통과할 수 있습니다. 그런 다음 연사는 생성 네트워크를 훈련하고 훈련된 네트워크에서 새 데이터 포인트를 생성하는 데 이 트릭이 어떻게 사용되는지 설명합니다.

  • 00:30:00 이 섹션에서 발표자는 생성 네트워크에서 고정 분포와 인코더 분포 간의 차이를 최소화하는 데 사용되는 거리 측정인 컴백 라이브러리 분기의 사용에 대해 논의합니다. 화자는 평균 제로 단위 분산을 가진 가우시안을 고정 분포로 사용하고 엔코더를 훈련시켜 이에 가까운 분포를 생성합니다. 정규화 용어를 사용하여 디코더는 트레이닝 세트에 있는 것과 유사한 데이터 포인트를 생성할 수 있습니다. 이 경우에는 얼굴 이미지입니다. Variational Autoencoder에 의해 생성된 이미지의 예가 표시되며 Autoencoder의 확률적 특성으로 인해 약간 흐릿합니다. 그런 다음 화자는 두 개의 네트워크(제너레이터와 판별기)를 사용하여 확률적으로 구축되지 않은 더 선명하고 사실적인 이미지를 생성하는 GAN(Generative Adversarial Networks)을 소개합니다.

  • 00:35:00 이 섹션에서 강사는 Generative Adversarial Networks(GAN)의 작동 방식을 설명합니다. GAN은 생성자 네트워크와 판별자 네트워크의 두 가지 네트워크로 구성됩니다. Generator 네트워크는 새로운 데이터 포인트를 생성하는 반면, Discriminator 네트워크는 생성된 데이터 포인트와 실제 데이터 포인트를 구별하려고 합니다. Discriminator는 Generator에 피드백을 제공하여 튜터 역할을 하여 보다 현실적인 데이터 포인트를 생성하도록 돕습니다. 학습은 목적 함수를 최적화하여 수행됩니다. 여기서 Discriminator 네트워크는 실제 데이터 포인트와 가짜 데이터 포인트를 인식할 확률을 최대화하려고 시도하는 반면 Generator 네트워크는 이러한 확률을 최소화하고 Discriminator를 속이려고 합니다. 목적 함수는 데이터 포인트가 가짜일 확률로 다시 작성할 수 있습니다.

  • 00:40:00 이 섹션에서 강사는 생성기와 판별기로 구성된 GAN(Generative Adversarial Networks)의 아키텍처를 설명합니다. Generator는 샘플 벡터를 가져와 시뮬레이션된 데이터를 생성하는 반면 Discriminator는 실제 데이터와 생성된 데이터를 모두 가져와 실제 또는 가짜로 분류하는 분류기입니다. GAN의 목표는 생성자(WG)와 판별자(WD)에 대해 서로 다른 가중치 집합을 사용하여 역전파를 사용하여 이 두 네트워크를 최적화하는 것입니다. 강사는 계속해서 GAN 목표를 최소화하기 위해 기울기 방향으로 단계를 수행하여 가중치를 업데이트한다고 설명합니다.

  • 00:45:00 이 섹션에서 화자는 생성적 적대 신경망을 훈련시키는 알고리즘에 대해 논의합니다. 이 알고리즘에는 판별기에 대해 가중치가 최적화된 다음 목표를 최적화하기 위해 K 단계가 수행되는 외부 루프가 포함됩니다. 그런 다음 생성기를 최적화하기 위한 단일 단계가 수행됩니다. 목표는 생성기가 실제 환경과 구분할 수 없는 실제 데이터를 생성할 수 있도록 훈련 세트를 생성하는 데 사용되는 분포를 학습하는 것입니다. 성공하면 discriminator는 50%의 오류율을 가지며 데이터 포인트가 진짜인지 가짜인지 구분할 수 없습니다.

  • 00:50:00 비디오의 이 섹션에서 강사는 GAN(Generative Adversarial Networks) 구현 시 발생하는 문제에 대해 논의합니다. 새로운 데이터를 생성합니다. 하나의 핵심 문제는 하나가 다른 하나를 지배할 수 있기 때문에 두 네트워크의 강점 사이의 균형을 보장하는 것입니다. 또 다른 어려움은 비볼록 최적화가 최적이 아닌 로컬 최적화로 이어질 수 있기 때문에 최적화 중에 전역 수렴을 달성하는 것입니다. 이러한 어려움에도 불구하고 GAN의 일부 측면은 실제로 잘 작동합니다. 생성된 숫자 및 얼굴 이미지가 훈련 세트의 실제 데이터 포인트와 유사하기 때문에 약간의 미세 조정이 여전히 필요할 수 있습니다.

  • 00:55:00 비디오의 이 섹션에서 발표자는 GAN(Generative Adversarial Networks)과 유사하면서도 다른 얼굴을 생성하는 방법에 대해 이야기합니다. 그는 말, 개 및 흐릿한 이미지를 포함하여 생성된 이미지의 예를 제공합니다. 화자는 또한 다음 수업에서 기계 학습의 다른 주제를 다룰 것이라고 언급합니다.
 

CS480/680 강의 22: 앙상블 학습(배깅 및 부스팅)



CS480/680 강의 22: 앙상블 학습(배깅 및 부스팅)

강의에서는 여러 알고리즘을 결합하여 학습 결과를 향상시키는 앙상블 학습에 대해 설명합니다. 검토된 두 가지 주요 기술은 배깅과 부스팅이며, 화자는 더 풍부한 가설을 얻기 위해 가설을 결합하는 것의 중요성을 강조합니다. 이 강의는 가중 다수결 투표 과정과 오류 확률, 부스팅이 분류 정확도를 향상시키는 방법에 대해 설명합니다. 발표자는 또한 부스팅 및 앙상블 학습의 이점을 다루며 앙상블 학습이 여러 유형의 문제에 적용될 수 있음을 언급합니다. 마지막으로 비디오는 Netflix 챌린지의 예를 따라 데이터 과학 대회에서 앙상블 학습을 사용하는 방법을 보여줍니다.

앙상블 학습에 대한 이 강의에서 발표자는 정확도를 높이기 위해 여러 모델의 가설을 결합하는 것의 가치를 강조합니다. 이는 이미 꽤 좋은 솔루션으로 시작할 때 특히 유용할 수 있는 접근 방식입니다. 그는 예측의 가중 조합을 취하는 것의 중요성에 대해 논의하며 두 가설의 평균이 때때로 개별 가설 단독보다 더 나쁠 수 있으므로 주의해야 한다고 지적합니다. 화자는 또한 작업이 분류인지 회귀인지에 따라 가중치의 정규화가 필요할 수 있다고 설명합니다.

  • 00:00:00 여러 알고리즘과 가설을 결합하여 학습 결과를 향상시키는 과정인 앙상블 학습의 중요성을 소개합니다. 이 강의에서는 배깅 및 부스팅 기술에 대해 논의하고 특정 문제에 가장 적합한 개별 알고리즘을 결정하는 어려움을 강조합니다. 종종 시행 착오의 문제이지만 불완전한 가설을 결합하면 선거가 유권자의 선택을 결합하거나 위원회가 전문가 의견을 결합하는 것과 유사하게 더 나은 전체 결과로 이어질 수 있습니다. 여러 알고리즘을 결합하여 보다 강력하고 정확한 예측 또는 분류를 얻는 것이 목표입니다.

  • 00:05:00 강사가 앙상블 학습과 이를 사용하여 기계 학습 모델의 정확도를 개선하는 방법에 대해 설명합니다. 앙상블 학습에는 잠재적으로 더 나은 풍부한 가설을 얻기 위해 여러 불완전한 가설을 결합하는 작업이 포함됩니다. 강의에서는 앙상블 학습의 두 가지 방법인 배깅(bagging)과 부스팅(boosting)에 대해 언급합니다. 배깅(bagging) 기법은 서로 다른 알고리즘으로 생성된 가설을 보팅(voting)을 통해 조합하는 것이고, 부스팅(boosting)은 가설의 가중치를 조정하여 실적이 좋은 가설에 더 많은 가중치를 부여하는 것입니다. 강사는 비선형 경계를 얻기 위해 선형 구분 기호를 일반화하는 데 이러한 기술이 어떻게 사용되는지 설명하고 폴리토프의 예를 제공합니다.

  • 00:10:00 여러 가설이 예측을 하고 가장 많은 표를 얻은 클래스가 선택되는 분류에 대한 다수결 개념이 도입됩니다. 가설의 수가 많을수록 대다수가 틀릴 가능성이 높아집니다. 가설이 독립적이면 다수결 투표가 더욱 강력해집니다. 가설의 수와 오류 확률을 기반으로 다수가 오류를 범할 확률을 계산하기 위해 수학 방정식이 도입됩니다. 10%의 오류를 만드는 5개의 가설이 다수결이 틀릴 확률이 1% 미만임을 제공하는 예가 제공되어 다수결 방식의 견고성을 입증합니다.

  • 00:15:00 비디오는 독립적인 가설의 가정과 같은 기본 앙상블 학습 기술의 한계에 대해 설명합니다. 이러한 한계를 해결하기 위해 가중 다수 투표를 사용하여 상관 관계를 조정하고 더 나은 가설에 더 높은 가중치를 부여할 수 있습니다. 이 기술은 부스팅으로 알려져 있으며 더 높은 정확도를 얻기 위해 풀링되는 분류자를 생성하는 기본 학습자를 사용하여 수행됩니다. 부스팅 프레임워크는 전체 정확도를 개선하기 위해 가설을 결합하여 더 나은 알고리즘을 설계하기 위해 나쁜 알고리즘을 버려야 한다는 믿음을 극복할 수 있었습니다.

  • 00:20:00 강사는 가설을 생성하기 위해 기본 학습자를 사용한 다음 다른 가설을 얻기 위해 훈련 세트 가중치를 교란시키는 것과 관련된 앙상블 학습의 부스팅 개념에 대해 논의합니다. 잘못 분류된 인스턴스의 가중치를 높이면 더 정확한 가설을 얻을 가능성이 높아집니다. 강사는 감독 학습 기술이 가중 훈련 세트와 함께 작동하도록 조정될 수 있으며 이는 목표를 변경하고 모든 데이터 포인트에 대한 가중치를 도입함으로써 간단히 수행할 수 있다고 설명합니다. 이 방법을 사용하면 모든 데이터 포인트의 손실 함수의 가중 조합을 생성할 수 있습니다.

  • 00:25:00 강사가 앙상블 학습 부스팅의 개념을 설명합니다. 부스팅에는 가중치가 높은 인스턴스가 올바른 분류로 편향되는 가중치 훈련 세트로 학습하는 것이 포함됩니다. 부스팅 프레임워크는 해당 가중치가 있는 데이터 세트에서 가설을 반복적으로 학습하고, 인스턴스가 오분류인지 확인하고 가중치를 증가시키고, 결국 가중치를 사용하여 생성된 가설의 가중 다수가 표본 내 가설이 되는 루프를 포함합니다. 정확도에 비례합니다. 데이터 포인트에 대한 가중치와 가설에 대한 가중치의 두 가지 유형이 있습니다. 강사는 아이디어가 분류 정확도를 향상시키는 것이며 가중 데이터 세트와 함께 작동하는 모든 알고리즘을 부스팅을 위한 기본 학습자로 사용할 수 있다고 강조합니다.

  • 00:30:00 발표자는 부스팅 알고리즘에서 잘못 분류된 데이터 포인트의 가중치를 높이는 개념에 대해 논의합니다. 그들은 이것이 올바르게 분류된 데이터 포인트의 가중치를 암묵적으로 감소시키는 효과가 있지만 중요한 것은 가중치의 상대적인 크기라고 설명합니다. 그런 다음 알고리즘은 손실을 최소화하고 잘못 분류하여 더 높은 비용을 지불하지 않도록 올바르게 분류하려고 합니다. 발표자는 또한 교육 세트가 테스트 세트와 동일한 분포를 따르지 않는 경우 가중치를 사용하여 분포를 교란시킬 수 있다고 언급합니다. 그러나 불완전한 가설의 가중치를 높이면 과적합을 방지하고 일반화를 개선할 수 있으므로 부스팅은 일반적으로 이러한 목적으로 사용되지 않습니다.

  • 00:35:00 강사가 간단한 데이터 세트를 사용하여 여러 가설을 생성하는 시각적 예를 통해 적응형 부스팅 알고리즘의 작동을 설명합니다. 가중 다수 투표를 사용하여 알고리즘은 각 가설의 정확도에 비례하는 가중치를 할당하고 이를 사용하여 가장 성과가 좋은 가설의 가중 조합을 계산합니다. 그런 다음 이 조합으로 형성된 앙상블을 사용하여 예측을 수행합니다.

  • 00:40:00 강사가 과적합을 방지하기 위해 여러 가설을 결합하는 개념을 설명합니다. 그들은 우리가 완벽한 가설을 가지고 있더라도 과적합을 방지하기 위해 여러 가설을 결합하는 것이 여전히 더 낫다고 주장합니다. 강사는 심층 신경망이 훈련 세트에서 완벽한 정확도로 이어질 수 있지만 앙상블 학습과 함께 사용되는 기본 학습자에서 우리가 원하는 단순하고 빠르지 않다고 지적합니다. 강사는 또한 Adaboost 알고리즘과 가설 및 데이터 인스턴스에 가중치를 할당하는 작동 방식에 대해 설명합니다.

  • 00:45:00 스피커가 부스팅의 이론과 장점을 설명합니다. 부스팅은 적어도 무작위 분류기만큼 좋은 가설을 생성하는 알고리즘인 약한 학습자와 잘 작동합니다. 목표는 정확도와 성능을 향상시키는 것입니다. 연사는 데이터 인스턴스 및 가설에 대한 가중치를 계산하는 방법과 이를 정규화하는 방법을 설명합니다. 부스팅은 과적합에 강한 경향이 있고 구현이 간단하여 많은 문제에 적용할 수 있습니다. 또한 부스팅은 하나가 아닌 여러 가설을 생성하여 정확도를 높입니다.

  • 00:50:00 여러 모델의 예측을 결합하는 데 사용되는 기술인 부스팅 및 앙상블 학습에 대해 배웁니다. 부스팅은 가중치가 다른 여러 가설을 생성하고 모두 결합하여 가장 좋은 가설을 선택하는 방법입니다. 베이지안 학습에 대한 근사치로, 일반화를 위해 여러 가설을 결합하는 데 선택적으로 적용하면서 한 번에 하나의 가설을 생성하는 다루기 쉬운 방법입니다. Boosting에는 Microsoft에서 생산한 Kinect와 추천 시스템을 10% 개선하는 데 사용된 Netflix Challenge를 포함하여 여러 산업 응용 프로그램이 있습니다. 부스팅은 일반적으로 전문가의 예측을 결합하는 데 매우 유용합니다. 이는 항상 작동하지 않고 이론 없이 올 수 있는 다른 휴리스틱과 달리 말입니다.

  • 00:55:00 연사는 Kaggle의 기원과 그들이 어떻게 데이터 과학 대회를 조직하기 시작했는지에 대해 논의합니다. 그는 2006년 Netflix가 정확도를 10% 향상시키기 위한 경쟁을 시작했을 때로 돌아갑니다. 첫 번째 팀인 Bellcore는 8.43%의 개선을 달성했지만 임계값을 충족하지 못했습니다. 그런 다음 연사는 수년 동안 앙상블 학습을 사용하여 팀이 어떻게 협업을 시작했는지, 대상 팀이 어떻게 구성되었는지 설명합니다. 각 팀은 각 알고리즘이 기여하는 팀 점수 향상에 비례하여 백만 달러의 대상을 공유하기 위해 힘을 합쳤습니다. 대상팀은 많은 연구자들의 대범함을 형성하여 9.46%를 달성하였고, 마지막 날에는 Bellcore, pragmatic, chaos가 출품하여 상을 수상하였다.

  • 01:00:00 연사는 특히 대회 우승과 관련하여 앙상블 학습의 중요성과 가치에 대해 논의합니다. 그는 BellKor의 Pragmatic Chaos 팀이 Netflix Prize를 수상한 사례를 사용하여 앙상블 학습 기법을 활용하여 정확도를 몇 퍼센트 포인트 향상시켰습니다. 그는 앙상블 학습이 약한 학습자가 아닌 이미 상당히 좋은 솔루션으로 시작할 때 특히 유용하며 다른 모델의 가설을 결합하여 정확도를 높일 수 있다고 지적합니다. 또한 그는 앙상블 학습이 분산 컴퓨팅에 적합하며 여러 기계 또는 코어를 통해 달성될 수 있다고 언급합니다.

  • 01:05:00 강사는 더 높은 비용 발생을 피하기 위해 가설이 아닌 예측의 가중 조합을 취하는 개념을 설명합니다. 아이디어는 모든 가설이 예측을 만들고 이러한 예측이 가중치에 따라 결합된다는 것입니다. 그러나 때때로 두 가설의 평균이 개별 가설 자체보다 실제로 더 나쁠 수 있으므로 가설을 결합할 때 주의해야 합니다. 강사는 또한 작업이 분류인지 회귀인지에 따라 가중치를 정규화해야 할 수도 있다고 언급합니다.
 

CS480/680 강의 23: 흐름 정규화(Priyank Jaini)



CS480/680 강의 23: 흐름 정규화(Priyank Jaini)

이 강의에서 Priyank Jaini는 밀도 추정을 위한 방법으로 정규화 흐름에 대해 논의하고 GAN 및 VAE와 같은 다른 생성 모델과 어떻게 다른지 소개합니다. Jaini는 확률 질량 보존의 개념과 정규화 흐름에서 변수 공식의 변화를 유도하는 데 사용되는 방법을 설명합니다. 그는 변환 계열과 순열 행렬의 개념을 사용하여 흐름을 정규화하는 삼각형 구조를 구축하는 과정을 더 설명합니다. Jaini는 또한 SOS(Sum of Squares) 흐름의 개념을 도입했습니다. 이 흐름은 고차 다항식을 사용하고 모든 목표 밀도를 캡처할 수 있어 보편적입니다. 마지막으로 Jaini는 잠재 공간과 이미지 생성을 위한 흐름 기반 방법의 이점에 대해 논의하고 청중에게 흐름 기반 모델의 잠재적인 단점에 대해 생각해 보도록 요청합니다.

Priyank Jaini의 흐름 정규화에 대한 이 강의에서 그는 많은 수의 매개변수를 사용하여 고차원 변환을 캡처하는 문제에 대해 설명합니다. 이러한 문제를 극복하기 위해 병목 현상을 사용하는 GAN과 달리 흐름을 정규화하려면 정확한 표현을 달성하기 위해 두 차원이 동일해야 합니다. Jaini는 정규화 흐름 실험에서 고차원 데이터 세트로 관련 매개변수를 학습하는 것이 어려울 수 있음을 강조합니다. 그는 또한 정규화 흐름이 어떻게 다중 모드 분포를 캡처할 수 있는지에 대한 질문에 답하고 선형 아핀 변환을 구현하기 위한 코드를 제공합니다.

  • 00:00:00 박사 과정 학생인 Priyank Jaini는 비지도 학습의 핵심 문제를 형성하는 밀도 추정 문제를 해결하기 위한 심층 생성 모델 제품군으로서 흐름 정규화에 대해 논의합니다. Jaini는 밀도 추정이 중요한 샘플링, 베이지안 추론 및 이미지 합성과 같은 기계 학습에서 광범위한 응용 분야를 가지고 있다고 설명합니다. Jaini는 또한 정규화 흐름이 이전 강의에서 논의된 VAE(Variational Autoencoder) 및 GAN(Generative Adversarial Networks)과 어떻게 다른지에 대해 간략하게 소개합니다. 그는 정규화 흐름이 조건부 생성 모델에 유용하고 밀도 추정에 사용될 수 있다고 제안합니다.

  • 00:05:00 연사는 GAN(Generative Adversarial Networks) 및 VAE(Variational Autoencoders)를 포함한 생성 모델의 프레임워크에 대해 논의하고 대체 접근 방식으로 정규화 흐름을 소개합니다. GAN과 VAE는 모두 소스 분포와 변환을 사용하여 합성 예제를 생성하거나 데이터를 재구성하지만 명시적으로가 아니라 암시적으로 밀도 함수를 나타냅니다. 대조적으로 정규화 흐름은 밀도 함수를 명시적으로 표현하고 확률 질량 보존 원칙에 따라 작동합니다. 목표는 단순한 소스 분포(예: 가우시안)를 보다 복잡한 대상 분포로 변환하여 실제 데이터 분포를 근사화하는 변환을 학습하는 것입니다.

  • 00:10:00 Priyank Jaini는 확률 질량 보존의 개념과 변수 공식의 변화를 유도하는 데 사용되는 방법을 소개합니다. 그는 간격 0-1에서 랜덤 변수의 예를 제공하고 Z의 함수 T를 적용하여 확률 밀도가 1/3인 균일한 랜덤 변수를 생성합니다. 그는 변수의 변화 공식이 소스 확률 변수 Z와 함수 T의 관점에서 대상 확률 변수 X의 밀도를 찾는 데 사용된다고 설명합니다. 그는 함수 T가 Rd에서 학습되는 다변량 사례로 공식을 확장합니다. 그리고 공식은 QX = PZ 곱하기 기울기의 행렬식 T 곱하기 역수가 됩니다.

  • 00:15:00 발표자는 주어진 입력 벡터 X를 다른 벡터 Z에 매핑하는 함수 학습을 포함하는 정규화 흐름의 개념을 설명합니다. D로 표시된 함수는 일변량 함수 T1에서 TD로 구성됩니다. , X의 구성 요소를 취하고 Z의 구성 요소를 출력합니다. 목표는 간단한 소스 밀도 PZ를 사용하여 입력 데이터 세트 QX의 밀도를 근사화하고 변수 변경을 사용하여 데이터 포인트의 우도를 최대화하는 것입니다. 공식. 그러나 함수 D가 가역적이고 전단사여야 하는 등 특정 문제가 발생합니다.

  • 00:20:00 강사는 관찰된 데이터만 주어진 잠재 공간을 계산하는 방법에 대해 논의합니다. 이를 위해서는 매핑 함수의 역함수가 필요하다. 하지만 실제로 행렬식을 계산하는 것은 비용이 많이 들기 때문에 강사는 행렬식 계산이 쉬운 삼각형 맵의 개념을 소개했습니다. 그런 다음 강의에서는 흐름 정규화 연구가 주로 이러한 삼각형 변환을 구축하는 데 중점을 두어 밀도 추정을 수행할 수 있고 이러한 변환이 다른 정규화 흐름에서 어떻게 사용될 수 있는지 설명합니다.

  • 00:25:00 강사가 흐름을 정규화하기 위해 삼각형 구조를 만드는 과정을 설명합니다. 이 구조는 주어진 밀도 Q(X)에 근사하기 위해 단순 밀도 P(Z)를 선택하는 것과 관련됩니다. 밀도 P(Z)는 정규 분포 또는 균일 분포와 같은 임의의 확률 분포일 수 있습니다. 처음에는 하나의 변환 t1을 사용하여 세트 1에서 X1을 가져옵니다. 그런 다음 반복이 계속됨에 따라 변환 t2는 1과 Z2의 보드를 입력으로 사용하여 X2를 제공합니다. 프로세스는 TD가 Z1, Z2, ..., ZD를 입력으로 가져오고 XT를 출력으로 제공할 때까지 계속됩니다. 목표는 행렬의 대각선 요소의 로그 합을 찾는 것과 관련된 음의 로그 우도를 최적화하여 우도를 최대화하는 것입니다. 강사는 삼각형 구조를 구축하는 데 사용할 수 있는 변형 패밀리의 예를 제공하고 결합 밀도가 주변 및 조건부 분포의 곱으로 작성될 수 있는 방법을 설명합니다.

  • 00:30:00 강사가 흐름 정규화의 개념에 대해 설명합니다. 정규 분포는 데이터에 따라 달라지며 데이터의 함수입니다. 표준 가우시안에서 이 정규 분포로 변환을 학습합니다. 변환은 반복적으로 수행되며 결과 함수는 삼각형입니다. 이러한 변환을 쌓음으로써 마스크 자동 회귀 흐름이 형성되어 여러 랜덤 변수로 더 복잡한 변환이 가능합니다. 각 변환의 행렬식과 최종 변환은 야코비 행렬과 역변환을 취함으로써 쉽게 계산할 수 있습니다. 변환을 정의하는 매개변수는 로그 우도를 최소화하여 학습됩니다.

  • 00:35:00 발표자는 순열 행렬을 사용하여 무작위 변수의 순서를 전환하고 상관 관계를 깨고 밀도 추정에서 더 복잡한 변환을 생성하는 방법을 설명합니다. 여러 변환을 쌓음으로써 변환의 복잡성이 증가하여 멋진 형태를 따르지 않더라도 실생활에서 어떤 밀도도 캡처할 수 있습니다. 그러나 일단 순열이 적용되면 변환은 더 이상 삼각형이 아니므로 Jacobian 계산 비용이 많이 듭니다. 순열 행렬을 사용하는 방법은 시간을 절약하고 전체 변환을 근사화합니다.

  • 00:40:00 화자가 흐름을 정규화하는 데 사용되는 다양한 변환 방법에 대해 논의합니다. 그는 Real NVP가 입력을 두 부분으로 나누고 한 부분에 선형 변환을 적용하고 다른 부분은 그대로 두는 선형 변환 방법이라고 설명합니다. 그런 다음 더 복잡한 변환을 구축하기 위해 여러 레이어를 쌓습니다. 화자는 또한 신경 자기회귀 흐름이 선형 변환 대신 심층 신경망을 사용하며 보편적이라고 언급합니다. 또한 그는 선형 변환이나 신경망 대신 다항식의 제곱합을 사용할 것을 제안하는 자신의 논문에 대해 이야기합니다. 이 방법은 다른 신경망에서 온 계수가 있는 고차 다항식을 사용하며 또한 보편적입니다.

  • 00:45:00 강사는 컴퓨터 과학 및 최적화에서 이전에 탐구한 다항식의 제곱합을 일반화한 SOS(Sum of Squares) 흐름의 속성에 대해 논의합니다. 다른 방법과 달리 SOS 흐름은 계수에 대한 제약 없이 첨도 및 왜도와 같은 대상 분포의 고차 모멘트를 제어할 수 있는 고차 다항식을 사용합니다. SOS 흐름은 훈련하기 쉽고 임의의 목표 밀도를 캡처할 수 있으므로 확률적 시뮬레이션의 응용 프로그램을 통해 보편적으로 사용할 수 있습니다. 강사는 또한 얼굴을 이전 버전으로 보간할 수 있는 이미지를 생성하기 위해 가역 원 크로스맨 컨볼루션 및 아핀 결합 레이어를 사용하는 "Glow"라는 아키텍처를 소개합니다.

  • 00:50:00 Priyank Jaini가 정규화 흐름의 아키텍처와 이미지 생성에 사용할 수 있는 방법을 설명합니다. 이 알고리즘은 다중 표현식과 임의 회전 행렬 W가 포함된 아핀 결합 계층을 사용하여 작동합니다. 그들은 LU 분해를 사용하여 행렬의 결정자를 고정합니다. 이를 사용하여 입력 이미지를 잠재 표현으로 변환한 다음 원하는 결과를 얻기 위해 잠재 공간 내에서 특정 방향으로 이동하여 노인과 젊은이의 이미지 사이를 보간할 수 있습니다. 결과는 생성된 이미지가 선명하며, 로그 가능성으로 생성된 이미지가 흐릿할 것이라는 이전의 가정과 모순됩니다.

  • 00:55:00 강사는 입력의 특정 속성을 캡처하고 이미지 생성을 위한 흐름 기반 방법에 사용되는 숨겨진 분포인 잠재 공간의 개념에 대해 논의합니다. 강사는 잠재 공간을 사용하여 나이가 들어가는 사람의 이미지를 만드는 선형 보간법의 예를 제공합니다. 강사는 밀도를 명시적으로 표현하고 효율적인 삼각형 변환을 사용하여 야코비 행렬식을 포착하는 것과 같은 흐름 모델 정규화의 이점을 강조합니다. 그러나 강사는 흐름 기반 방법의 잠재적인 단점에 대해 청중에게 질문을 던지며 그 중 하나는 계산 복잡성입니다.

  • 01:00:00 강사는 정규화 흐름에서 많은 수의 매개변수를 사용하여 고차원 변환을 캡처하는 문제에 대해 논의합니다. GAN은 이 문제를 극복하기 위해 병목 현상을 사용하지만 흐름을 정규화하려면 정확한 표현을 달성하기 위해 두 차원이 동일해야 합니다. 강사는 정규화 흐름 실험에 사용되는 데이터 세트의 차원이 높기 때문에 관련 매개변수를 학습하기 어렵다고 강조합니다. 강사는 또한 정규화 흐름이 다중 모달 분포를 캡처하는 방법과 신경망 가중치에 대한 훈련이 네트워크 매개변수에 대해 암묵적으로 훈련하는 방법에 관한 질문에 답합니다.

  • 01:05:00 Priyank Jaini는 Eric Jack의 자습서에서 배운 선형 아핀 변환을 구현하기 위해 약 100줄의 코드를 제공했다고 설명합니다. 그는 이러한 네트워크를 교육하는 간단한 프로세스라고 언급하고 관심 있는 사람들을 위해 코드를 제공합니다.
 

CS480/680 강의 24: 그래디언트 부스팅, 배깅, 결정 숲



CS480/680 강의 24: 그래디언트 부스팅, 배깅, 결정 숲

이 강의에서는 기계 학습의 그래디언트 부스팅, 배깅 및 결정 숲을 다룹니다. 그래디언트 부스팅은 손실 함수의 음의 그래디언트를 기반으로 이전 예측자에 새로운 예측자를 추가하여 회귀 작업의 정확도를 높입니다. 강의는 또한 정규화를 사용하고 교육 프로세스를 조기에 중단하여 과대적합을 방지하고 성능을 최적화하는 방법을 탐구합니다. 또한 이 강의에서는 하위 샘플링과 다양한 기본 학습자를 결합하여 최종 예측을 얻는 배깅을 다룹니다. 의사결정 트리를 기본 학습자로 사용하고 랜덤 포레스트를 생성하는 방법에 대해서도 논의하고 모션 인식을 위해 랜덤 포레스트를 사용하는 Microsoft Kinect의 실제 사례를 제공합니다. 병렬 컴퓨팅을 위한 앙상블 방법의 이점에 대해 논의하고 기계 학습 시스템에서 가중치 업데이트를 이해하는 것의 중요성을 강조합니다. 이 강의에서는 신경망 또는 은닉 마르코프 모델 내에서 예측 변수를 결합할 때 평균 가중치의 잠재적인 문제를 다루며 대신 다수결 또는 평균화 방법을 통해 예측을 결합하는 것을 권장합니다. 교수는 또한 워털루 대학교에서 제공되는 다양한 관련 과정, 최적화 및 선형 대수학에 대한 여러 대학원 수준 과정, AI, 기계 학습, 데이터 시스템, 통계 및 최적화 주제에 중점을 둔 학부 데이터 과학 프로그램을 제안합니다. 강의는 일반적인 컴퓨터 공학 학위에 비해 데이터 과학 주제의 전문화 및 통계와의 중첩보다 알고리즘적 접근의 중요성을 강조합니다.

  • 00:00:00 강사가 그래디언트 부스팅에 대해 설명합니다. 그는 adaboost 알고리즘이 분류에는 탁월하지만 회귀에는 적합하지 않다고 언급합니다. 그는 손실 함수의 음의 기울기가 계산되고 다음 예측자가 이 기울기에 맞춰지는 기울기 부스팅을 소개합니다. 이는 예측 변수를 원하는 출력에 맞추는 것이 아니라 음의 그래디언트에 맞추기 때문에 약간 직관에 어긋납니다. 이것은 경사 하강 단계를 에뮬레이션하고 이를 반복적으로 적용하면 최종 예측 변수는 모든 예측 변수의 합계가 됩니다. 이 방법은 특히 회귀에 유용합니다. 강사는 이 알고리즘을 다양한 손실 함수와 함께 사용할 수 있으며 회귀를 부스트하기 위한 솔루션이라고 설명합니다.

  • 00:05:00 그래디언트 부스팅의 개념을 설명합니다. 여기서 알고리즘의 각 단계에서 일부 손실 함수가 있는 예측자가 목표값과 예측값 간의 차이를 수반합니다. 그런 다음 잔차를 근사화하기 위해 음의 기울기를 취하고 잔차 데이터 세트에 대해 다음 예측자를 훈련합니다. 목표는 이 새로운 예측자를 이전 예측자에 추가하여 오류를 줄이는 것입니다. 그런 다음 알고리즘의 의사 코드가 제공되며, 처음에는 첫 번째 예측자가 각 데이터 포인트에 대한 손실을 최소화하여 상수로 설정됩니다.

  • 00:10:00 교수는 여러 약한 학습자를 하나의 강력한 학습자로 결합하는 기계 학습의 강력한 개념인 그래디언트 부스팅에 대해 설명합니다. 아이디어는 단순한 상수인 간단한 예측자로 시작한 다음 모든 데이터 포인트에 대한 유사 잔차를 계산하고 새 잔차 데이터 세트를 형성하고 해당 데이터와 관련하여 새로운 기본 학습자를 교육함으로써 각 반복에서 새 예측자를 계산하는 것입니다. 설정하고 새 가설에 일부 단계 길이를 곱한 예측 변수를 추가합니다. 단계 길이는 오류를 줄이기 위해 음의 기울기 방향으로 단계를 취하는 최적화 표현을 최소화하여 선택됩니다. 가중치 업데이트는 음의 그래디언트가 계산될 때 발생하지만 가중치 업데이트 자체는 아닙니다.

  • 00:15:00 발표자는 신경망, 결정 트리 또는 기타 유형의 회귀자일 수 있는 기본 학습자의 교육 단계 중 가중치 업데이트 프로세스를 설명합니다. 그들은 예측기를 최적화할 때 모든 함수, 즉 FK-1, HK 및 Etha k가 이미 최적화되고 고정 가중치로 설정되어 있으므로 가중치 업데이트가 없음을 명확히 합니다. 이러한 함수의 예측을 조합하면 각 단계에서 점진적으로 개선되는 예측자가 되어 손실 함수가 낮아집니다. 그러나 프로세스는 장기적으로 0의 손실로 이어지지 않을 수 있습니다.

  • 00:20:00 강사는 그래디언트 부스팅으로 오류를 점진적으로 줄일 수 있는 가능성에 대해 논의하지만 예측 변수의 공간과 데이터에 존재하는 노이즈의 양에 따라 과적합으로 이어질 수 있다고 지적합니다. 이 알고리즘은 가중치를 변경하지 않고 더 큰 샘플을 생성하기 위해 더 많은 가설을 함께 추가하는 것을 포함합니다. 강사는 그래디언트 부스팅으로 과적합의 위험에 대해 수업에 질문을 던지고 과적합의 위험이 있다고 결론을 내리지만 정규화 또는 조기 중지와 같은 기술을 사용하여 이러한 발생을 방지할 수 있습니다.

  • 00:25:00 강사는 검증 세트를 사용하여 무작위화를 도입하고 교육 프로세스를 조기에 중지하는 등 과적합을 줄이는 방법에 대해 논의합니다. 그런 다음 강의에서는 그래디언트 부스팅 기술을 소개하고 성능과 정확성을 위해 최적화된 인기 있는 패키지인 XG 부스트에 대해 언급합니다. 강사는 또한 가설의 순차적 생성 및 부스팅에서의 조합과 비교하여 배깅에서 독립적인 가설 및 다수결 사용을 포함하여 배깅과 부스팅의 주요 차이점에 대해 설명합니다.

  • 00:30:00 연사가 기계 학습의 부스팅 및 배깅 기술에 대해 논의합니다. 부스팅에는 가중 예측이 포함되며, 이는 일부 상관된 가설과 불균형한 정확도를 가진 가설을 허용합니다. 부스팅은 유연하며 서로 다른 가설의 가중치를 결정하여 상관관계 문제를 해결할 수 있습니다. 대조적으로 배깅에는 가설 간의 상관 관계를 줄이기 위해 데이터의 하위 집합에 대해 기본 학습자를 교육하는 부트스트랩 샘플링이 포함됩니다. 발표자는 이러한 기술이 가설 독립성에 관한 가정이 유지되거나 대략적으로 유지될 수 있는 일부 설정을 엔지니어링하는 실용적인 방법을 제공하여 임의의 제한을 줄이고 모델을 보다 안정적으로 만들 수 있음을 나타냅니다.

  • 00:35:00 연사는 상관관계를 줄이기 위해 기능을 서브샘플링하여 샘플 내 학습의 패러다임에서 무작위보다 더 나은 간단한 예측 변수를 얻는 아이디어에 대해 논의합니다. 데이터 포인트와 특징을 모두 서브샘플링하여 더 작은 데이터 세트를 얻어 기본 학습기에 공급하고 각 예측자에 대해 프로세스를 반복합니다. 결과 가설의 상관 관계가 낮아져 배깅이 더 나은 옵션이 됩니다. 배깅 알고리즘은 K개의 예측자가 생성되는 루프로 구성되며 각 예측자에 대해 데이터가 서브 샘플링되고 기본 학습자는 중첩에 따라 다른 가설을 생성합니다.

  • 00:40:00 교육 데이터에서 여러 개의 무작위 샘플을 추출하여 여러 모델을 구축하는 기술인 배깅에 대해 배웁니다. 아이디어는 각 기본 학습자로부터 가설을 생성한 다음 이를 결합하여 최종 예측을 만드는 것입니다. 목적이 분류인 경우 다수결로 예측하는 반면, 회귀의 경우 예측의 평균을 취하여 결정합니다. 문헌에서 널리 사용되는 방법은 결정 트리를 기본 학습자로 사용하는 것입니다. 여러 결정 트리가 데이터의 다양한 하위 집합에 대해 훈련되면 이를 랜덤 포레스트라고 합니다. 랜덤 포레스트는 분산 컴퓨팅에도 사용할 수 있습니다. 자세 및 동작 인식을 위해 랜덤 포레스트를 사용하는 Microsoft Kinect의 실제 사례가 제공됩니다.

  • 00:45:00 비디오는 Kinect에 대해 설명하고 Kinect가 적외선 스펙트럼의 포인트 클라우드를 투사하고 적외선 카메라를 사용하여 포인트를 인식하여 깊이 맵을 생성하는 방법에 대해 설명합니다. Microsoft는 포인트 분포를 기반으로 깊이 정보를 실시간으로 유추할 수 있도록 일부 하드웨어를 내장했습니다. Kinect는 인접한 픽셀을 현재 픽셀의 깊이 값과 비교하는 랜덤 포레스트 접근 방식으로 신체 부위와 동작을 식별하기 위해 픽셀에 레이블을 지정하는 기능이 있습니다. 서브샘플링 기법은 주변 픽셀을 단순화하기 위해 사용되며, 신체 부위의 크기를 기준으로 거리를 비교하는 것은 현재 픽셀을 분류하는 데 단서를 제공하지만 이 방법은 취약하다고 여겨집니다.

  • 00:50:00 발표자는 배깅, 부스팅 및 기타 앙상블 방법의 이점에 대해 논의합니다. 이 방법을 사용하면 여러 경량 분류기를 병렬로 분산 및 활용하여 대용량 데이터에 맞게 확장할 수 있습니다. GPU는 계산 병렬화의 핵심이 되었으며 병렬화에 대한 걱정 없이 벡터, 행렬 및 텐서를 조작하기 위한 여러 프레임워크가 존재합니다. 그러나 화자는 숨겨진 계층과 변수가 이 접근 방식에 문제를 일으킬 수 있으므로 분류기 또는 예측기의 평균 검정력을 취하는 직관적이지만 신뢰할 수 없는 방법에 대해 경고합니다.

  • 00:55:00 발표자는 아키텍처에서 개별 시스템의 평균을 구하는 것이 어떻게 문제가 될 수 있는지 설명합니다. 발표자는 배타적 논리합을 인코딩하기 위해 0과 1의 값을 취하는 부울 변수를 사용하는 보드에 예를 그립니다. 프리젠터는 들어오는 것의 또는를 계산하도록 설계된 부울 변수에 대한 가중치를 설정합니다. 가중치 설정은 두 패턴 각각을 찾기 위해 작동하며, 그 중 하나가 트리거되는 한 프리젠터는 및/또는을 계산합니다. 다른 쓰레기 수거 장치를 통해 결합합니다. 발표자는 계속해서 가중치 변경이 시스템 출력에 어떤 영향을 미칠 수 있는지 설명합니다.

  • 01:00:00 화자가 신경망 또는 숨겨진 Markov 모델에서 예측 변수를 결합할 때 평균 가중치의 위험성에 대해 논의합니다. 위험은 동일한 것을 계산하지 않는 대칭 솔루션이 있을 수 있고 가중치의 평균을 취하면 올바른 것을 계산하지 않는 예측자가 될 수 있다는 사실에 있습니다. 대신 안전한 방법은 예측을 결합하는 것입니다. 이는 분류에 대한 다수결 투표 또는 회귀에 대한 평균을 통해 수행할 수 있습니다. 연사는 더 많은 학습에 관심이 있는 사람들을 위해 워털루 대학에서 제공하는 기계 학습과 관련된 다른 과정도 추천합니다.

  • 01:05:00 교수는 기계 학습에 대한 현재 과정을 보완할 다른 과정에 대해 논의합니다. 첫째, 그는 선형 대수학이 기계 학습의 중요한 기초이기 때문에 현재 과정을 수강하기 전에 전산 선형 대수학 과정을 수강할 것을 제안합니다. 또한 그는 기계 학습의 중요한 요소, 즉 데이터 복잡성에 초점을 맞춘 기계 학습의 이론적 기초라는 과정을 언급합니다. 그는 특정 양의 데이터로 달성 가능한 정확도 수준을 결정하는 것이 복잡한 문제이므로 원하는 수준의 정확도를 달성하는 데 필요한 데이터 양을 결정하는 원리를 도출하는 것을 목표로 합니다. 마지막으로 교수는 기계 학습 알고리즘을 이해하는 데 도움이 되는 데이터 과학을 위한 최적화 및 최적화의 기초와 같은 대학원 수준의 다른 과정을 언급합니다.

  • 01:10:00 강사가 학생들이 수강할 수 있는 데이터 과학 관련 과정 및 프로그램에 대해 설명합니다. 이 과정은 학부 및 대학원 수준의 데이터 과학 프로그램에 정기적으로 제공되지 않는 800개 수준의 과정에 이르기까지 다양합니다. 강사는 이 과정과 통계 과정 사이에 약간의 중복이 있을 수 있지만 여기서의 접근 방식은 더 알고리즘적이라고 지적합니다. 데이터 과학 프로그램은 AI, 기계 학습, 데이터 시스템, 통계 및 최적화가 교차하는 주제를 다룹니다. 이 프로그램에서 학생들이 수강하는 과정은 데이터 과학 주제의 전문화를 강조하는 반면 일반 컴퓨터 과학 석사 학위는 다양한 주제에 대한 폭 넓은 지식을 요구합니다.