이 기계 학습 예제에서는 숫자를 인식하는 방법을 학습하는 간단한 신경망을 살펴보겠습니다. 프로세스 전반에 걸쳐 기본 학습 알고리즘을 사용하여 가중치의 진화를 목격하게 됩니다.
우리의 초점은 손으로 쓴 모양을 식별하기 위해 간단한 네트워크를 훈련하는 것입니다. 네트워크는 픽셀 강도를 나타내는 입력 뉴런과 클래스를 나타내는 출력 뉴런의 두 계층으로 구성됩니다. 목표는 특정 모양에 해당하는 출력 뉴런이 해당 모양이 제시될 때 활성화되는 것입니다.
각 활성 픽셀은 그것이 속한 모양에 대해 "투표"하며 이러한 투표의 강도는 다양합니다. 출력 단위 간에 경쟁이 있다고 가정하면 가장 많은 표를 얻은 모양이 승리합니다. 우리는 나중 강의에서 이 경쟁적 측면을 탐구할 것입니다.
가중치를 시각화하려면 수천 개의 가중치를 수용할 수 있는 디스플레이가 필요합니다. 입력과 출력 단위 사이의 개별 연결에 가중치를 쓰는 대신 각 출력 단위에 대한 작은 맵을 만들 것입니다. 이러한 맵은 검은색 및 흰색 얼룩을 사용하여 입력 픽셀의 연결 강도를 나타냅니다. 각 얼룩의 면적은 크기를 나타내고 색상은 연결 부호를 나타냅니다.
처음에는 가중치에 작은 임의의 값이 할당됩니다. 가중치를 개선하기 위해 네트워크에 데이터를 제공하고 그에 따라 가중치를 조정하도록 훈련합니다. 이미지가 표시되면 활성 픽셀에서 올바른 클래스로 가중치를 증가시킵니다. 그러나 가중치가 과도하게 커지는 것을 방지하기 위해 활성 픽셀에서 네트워크가 추측하는 클래스까지 가중치를 감소시킵니다. 이 교육 접근 방식은 네트워크가 초기 경향에 집착하기보다 올바른 결정을 내리도록 안내합니다.
네트워크에 수백 개의 훈련 예제를 보여준 후 가중치를 다시 관찰합니다. 규칙적인 패턴을 형성하기 시작합니다. 추가 교육 예제를 사용하면 가중치가 계속 변경되고 결국 안정화됩니다. 이 시점에서 가중치는 모양의 템플릿과 비슷합니다. 예를 들어, "1" 단위에 들어가는 가중치는 하나를 식별하기 위한 템플릿 역할을 합니다. 마찬가지로 "9" 단위로 들어가는 가중치는 특정 기능의 유무에 따라 9와 7을 구별하는 데 중점을 둡니다.
이 학습 알고리즘은 네트워크의 단순성으로 인해 모양을 구별하는 데 제한된 능력만 달성할 수 있다는 점에 주목할 가치가 있습니다. 학습된 가중치는 템플릿으로 효과적으로 기능하고 네트워크는 템플릿과 잉크 간의 중첩을 기반으로 승자를 결정합니다. 그러나 이 접근 방식은 손으로 쓴 숫자의 변형 복잡성에 직면했을 때 부족합니다. 이를 해결하기 위해서는 전체 모양의 단순한 템플릿 매칭으로는 문제를 충분히 해결할 수 없기 때문에 특징을 추출하고 배열을 분석해야 합니다.
요약하면 이 예제는 숫자를 인식하는 간단한 신경망 훈련을 보여줍니다. 네트워크의 가중치가 진화하고 모양에 대한 템플릿과 유사하지만 손으로 쓴 숫자의 복잡한 변형에 직면했을 때 이 접근 방식의 한계가 분명해집니다.
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
이 비디오에서는 지도 학습, 강화 학습 및 비지도 학습의 세 가지 주요 기계 학습 유형에 대해 설명합니다. 이 과정은 주로 전반부에는 감독 학습에, 후반부에는 비지도 학습에 중점을 둘 것입니다. 안타깝게도 시간 제약으로 인해 강화 학습은 다루지 않습니다.
감독 학습은 입력 벡터가 주어진 출력을 예측하는 것과 관련됩니다. 목표는 실수 또는 클래스 레이블을 정확하게 예측하는 것입니다. 회귀는 주가 예측과 같은 실수를 다루는 반면 분류는 양수와 음수를 구별하거나 손으로 쓴 숫자를 인식하는 것과 같은 레이블 지정을 포함합니다. 지도 학습은 숫자 매개변수(W)를 사용하여 입력을 출력에 매핑하는 함수로 표현되는 후보 모델 세트인 모델 클래스에 의존합니다. 이 매개변수는 예측 출력(Y)과 올바른 출력(t) 사이의 불일치를 최소화하도록 조정됩니다.
강화 학습은 받은 보상을 최대화하기 위해 작업 또는 작업 시퀀스를 선택하는 데 중점을 둡니다. 행동은 때때로 보상을 기준으로 선택되며 목표는 미래 보상의 예상 합계를 최대화하는 것입니다. 일반적으로 먼 거리의 보상보다 즉각적인 보상의 우선 순위를 정하기 위해 할인 요소가 사용됩니다. 강화 학습은 지연된 보상과 스칼라 보상으로 전달되는 제한된 정보로 인해 어려움을 겪습니다.
과정의 후반부에서 광범위하게 다룰 비지도 학습에는 입력 데이터의 유용한 내부 표현을 발견하는 것이 포함됩니다. 수년 동안 비지도 학습의 목표를 정의하는 것이 어려웠기 때문에 클러스터링에 찬성하여 비지도 학습이 간과되었습니다. 그러나 비지도 학습은 후속 지도 또는 강화 학습에 유익한 내부 표현 생성을 포함하여 다양한 목적을 수행합니다. 기본 매니폴드를 식별하여 이미지와 같은 고차원 입력의 소형 저차원 표현을 생성하는 것을 목표로 합니다. 비지도 학습은 또한 학습된 기능을 사용하여 경제적인 표현을 제공할 수 있으며 입력은 이진 또는 희소 코드로 표현될 수 있습니다. 또한 비지도 학습은 군집당 하나의 특징으로 희소 특징을 찾는 극단적인 경우로 볼 수 있는 군집화를 포함합니다.
이 비디오는 기계 학습의 세 가지 주요 유형인 지도 학습, 강화 학습 및 비지도 학습을 다룹니다. 감독 학습이 출력 예측에 중점을 둔다면 강화 학습은 행동 선택을 통해 보상을 극대화하는 데 중점을 둡니다. 비지도 학습은 저차원 표현 또는 학습된 기능과 같은 유용한 내부 표현을 발견하는 것을 목표로 하며 기본 클러스터 식별을 포함합니다.
신경망은 뉴런이 연결되는 방식을 나타내는 다양한 유형의 아키텍처를 가질 수 있습니다. 실제 응용 분야에서 가장 일반적인 아키텍처는 정보가 입력 단위에서 숨겨진 레이어를 통해 출력 단위로 흐르는 피드 포워드 신경망입니다. 반면에 순환 신경망은 정보가 주기적으로 흐르도록 하여 장기 기억과 복잡한 역학을 가능하게 하므로 더 흥미롭습니다. 반복 신경망을 훈련시키는 것은 그 복잡성으로 인해 어려운 일이지만 최근의 발전으로 더 훈련 가능하고 인상적인 작업을 수행할 수 있게 되었습니다.
또 다른 유형의 아키텍처는 대칭적으로 연결된 네트워크로, 유닛 간의 가중치가 양방향에서 동일합니다. 이러한 네트워크는 에너지 기능을 따르며 순환 네트워크에 비해 분석하기 쉽습니다. 그러나 기능이 더 제한적이며 주기를 모델링할 수 없습니다.
피드포워드 신경망에서 각 계층은 입력과 출력 간의 변환을 계산하여 각 계층에서 새로운 표현을 생성합니다. 비선형 함수는 각 계층의 뉴런 활동에 적용되어 입력 간의 유사성과 비유사성을 포착합니다. 반대로 순환 신경망은 연결 그래프에서 방향성 주기를 활용하여 복잡한 동역학 및 순차적 데이터 모델링을 허용합니다. 모든 단계에서 동일한 가중치가 사용되며 숨겨진 유닛의 상태가 다음 단계의 상태를 결정합니다.
순환 신경망은 숨겨진 상태에서 오랫동안 정보를 기억할 수 있는 능력이 있지만 이 능력을 활용하도록 훈련시키는 것은 어렵습니다. 그러나 최근 알고리즘은 순환 신경망 훈련에서 상당한 진전을 이루었습니다. 이러한 네트워크는 시퀀스의 다음 문자 예측, 텍스트 생성 또는 순차적 데이터 모델링과 같은 작업에 사용할 수 있습니다.
전반적으로 신경망 아키텍처는 간단한 계산을 위한 피드포워드 네트워크에서 메모리 및 복잡한 역학을 위한 순환 네트워크에 이르기까지 연결 및 기능이 다양할 수 있습니다.
기계 학습을 위한 알고리즘의 한 종류인 퍼셉트론은 1960년대 초에 처음 조사되었습니다. 처음에는 학습 장치로서 큰 가능성을 보였지만 나중에 Minsky와 Papert에 의해 한계가 드러나 인기가 떨어졌습니다. Minsky와 Papert는 퍼셉트론이 통계적 패턴 인식 작업에서 복잡한 패턴을 학습하는 능력에 다소 제한이 있음을 보여주었습니다.
통계적 패턴 인식 분야에서는 패턴을 인식하기 위해 표준 접근 방식을 따릅니다. 먼저 원시 입력 데이터가 처리되어 기능 활성화 세트 또는 벡터로 변환됩니다. 이 변환은 상식에 기반한 미리 정의된 프로그램을 사용하여 수행되며, 여기서 인간의 전문 지식은 당면한 작업과 관련된 기능을 결정합니다. 이 전처리 단계에는 학습이 포함되지 않는다는 점에 유의해야 합니다. 적절한 기능을 선택하는 것은 중요한 단계이며 종종 시행착오를 수반합니다. 다양한 기능을 시도하고 그 효과를 평가합니다. 이 반복 프로세스를 통해 후속 학습 단계에서 문제를 효과적으로 해결할 수 있는 일련의 기능이 최종적으로 식별됩니다.
통계적 패턴 인식의 학습 단계에는 각 기능 활성화와 관련된 가중치 결정이 포함됩니다. 이러한 가중치는 현재 입력이 특정 패턴이나 클래스에 속한다는 가설에 대해 각 기능이 제공하는 증거의 강도를 나타냅니다. 가중 기능 활성화를 합산하여 임계값과 비교되는 총 증거 점수를 얻습니다. 증거가 임계값을 초과하면 입력 벡터는 인식되는 패턴의 긍정적인 예로 분류됩니다.
퍼셉트론은 특정 유형의 통계적 패턴 인식 시스템입니다. 다양한 유형의 퍼셉트론이 있지만 Rosenblatt에서 알파 퍼셉트론이라고 하는 표준 형식은 기능 활성화로 변환되는 입력 단위로 구성됩니다. 이 변환은 뉴런의 동작과 유사할 수 있지만 시스템의 이 단계에는 학습이 포함되지 않는다는 점에 유의해야 합니다. 기능 활성화가 얻어지면 학습 알고리즘을 사용하여 가중치를 학습합니다.
퍼셉트론은 1960년대 Frank Rosenblatt의 저서 "Principles of Neurodynamics"에서 퍼셉트론을 광범위하게 연구하고 설명하면서 유명해졌습니다. 이 책은 다양한 종류의 퍼셉트론을 제시하고 혁신적인 아이디어로 가득 차 있습니다. 가장 주목할만한 기여 중 하나는 퍼셉트론과 관련된 강력한 학습 알고리즘으로, 그 기능에 대한 높은 기대를 불러일으켰습니다.
그러나 퍼셉트론을 둘러싼 초기 열정은 학습 알고리즘에 한계가 있다는 사실이 밝혀졌을 때 회의론에 부딪혔습니다. 예를 들어 탱크와 트럭의 부분적으로 가려진 사진을 구별하는 능력에 대해 과장된 주장이 제기되었습니다. 이러한 주장은 퍼셉트론이 단순히 픽셀의 총 강도를 측정하고 있다는 것이 밝혀졌을 때 틀이 깨졌습니다. 이는 인간이 더 민감하게 수행하는 작업입니다. 이러한 종류의 오해는 퍼셉트론의 평판을 손상시켰고 신경망 모델 전체의 효율성에 대한 의구심을 불러일으켰습니다.
1969년에 Minsky와 Papert는 퍼셉트론의 기능을 비판적으로 분석하고 한계를 강조한 "퍼셉트론"이라는 중요한 책을 출판했습니다. 그러나 더 넓은 분야의 인공 지능은 이러한 한계를 모든 신경망 모델에 잘못 추정했습니다. 지배적인 믿음은 Minsky와 Papert가 신경망 모델이 비실용적이고 복잡한 작업을 학습할 수 없다는 것을 입증했다는 것입니다. 실제로 Minsky와 Papert의 연구 결과는 그들이 연구한 퍼셉트론에만 국한되었으며 신경망 전체의 잠재력을 무효화하지 않았습니다.
우리가 곧 살펴볼 퍼셉트론 수렴 절차가 오늘날 큰 특징 벡터와 관련된 작업에 널리 사용되고 있다는 점은 주목할 가치가 있습니다. 실제로 Google과 같은 주요 회사는 퍼셉트론 기반 알고리즘을 사용하여 방대한 기능 세트를 기반으로 결과를 예측합니다.
퍼셉트론의 결정 단위는 이전에 신경망 모델에서 접했던 뉴런 유형인 이진 임계값 뉴런입니다. 이해를 돕기 위해 이러한 뉴런은 다른 뉴런에서 받은 입력의 가중 합계를 계산하고 편향 항을 추가하며 합계가 0을 초과하면 1의 출력을 생성하고 그렇지 않으면 0의 출력을 생성합니다.
학습 프로세스를 단순화하기 위해 각 입력 벡터를 상수 값 1의 추가 입력으로 증가시켜 편향을 가중치로 처리할 수 있습니다. 이렇게 하면 편향이 이 추가 입력 라인에 가중치로 통합되어 편향에 대한 별도의 학습 규칙이 필요하지 않습니다. 본질적으로 바이어스는 임계값의 음수 값을 갖는 가중치와 동일해집니다.
이제 놀랍도록 강력하고 솔루션으로 수렴하는 것이 보장되는 퍼셉트론의 학습 절차를 살펴보겠습니다. 그러나 나중에 논의될 보증과 관련하여 몇 가지 주의 사항을 고려하는 것이 중요합니다.
시작하려면 모든 입력 벡터에 값이 1인 추가 구성 요소를 포함합니다. 이제 추가 입력 라인에서 가중치로 처리되므로 가중치에 집중하고 편향을 무시할 수 있습니다. "합리적인 시간"의 정확한 정의는 상황에 따라 다를 수 있지만 교육 사례는 각 사례가 합리적인 시간 프레임 내에서 선택되도록 보장하는 모든 정책에 따라 선택됩니다.
학습 사례를 선택한 후 퍼셉트론에서 생성된 출력을 평가하고 예상 출력과 비교합니다. 퍼셉트론의 결정이 원하는 분류와 일치함을 나타내는 출력이 정확하면 가중치를 변경하지 않고 그대로 둡니다. 그러나 출력이 올바르지 않으면 다음 규칙에 따라 가중치를 조정합니다.
출력이 1이어야 하는데 출력이 0이면(즉, 퍼셉트론이 입력을 잘못 거부하는 경우) 입력 벡터를 퍼셉트론의 가중치 벡터에 추가합니다.
출력이 0이어야 하는데 출력이 1이면(즉, 퍼셉트론이 입력을 잘못 받아들이는 경우) 퍼셉트론의 가중치 벡터에서 입력 벡터를 뺍니다.
놀랍게도, 이 간단한 학습 절차는 모든 교육 사례에 대해 올바른 출력을 생성하는 일련의 가중치를 찾도록 보장됩니다. 그러나 중요한 조건이 충족되어야 합니다. 모든 학습 사례를 올바르게 분류할 수 있는 실현 가능한 가중치 집합이 있어야 합니다. 불행하게도 많은 흥미로운 문제의 경우 이러한 실현 가능한 가중치 집합이 존재하지 않을 수 있습니다.
실현 가능한 가중치 세트의 존재 여부는 사용되는 기능의 선택에 따라 크게 달라집니다. 많은 문제에서 가장 중요한 문제는 관련 패턴을 캡처하는 데 가장 적합한 기능을 결정하는 것입니다. 올바른 기능을 선택하면 학습 프로세스가 실현 가능하고 효과적이 됩니다. 반면에 부적합한 기능을 선택하면 학습이 불가능해지고 주요 초점은 기능 선택으로 이동합니다.
결론적으로 퍼셉트론은 신경망 모델의 초기 개발에 중요한 역할을 했습니다. 그들의 한계는 Minsky와 Papert에 의해 밝혀졌지만, 그들의 발견은 그들이 조사한 퍼셉트론에만 국한되었으며 신경망의 더 넓은 잠재력을 무효화하지 않았다는 점에 주목하는 것이 중요합니다. 퍼셉트론 수렴 절차는 특히 큰 특징 벡터와 관련된 작업에 유용한 도구로 남아 있습니다. 그러나 성공적인 패턴 인식의 핵심은 적절한 기능을 선택하는 데 있습니다. 올바른 기능을 사용하면 학습 과정이 훨씬 쉬워지고 부적절한 기능을 사용하면 학습이 불가능해질 수 있습니다.
이 비디오에서는 퍼셉트론이 학습하는 방법에 대한 기하학적 이해를 탐구합니다. 이를 위해 각 포인트가 모든 가중치의 특정 구성에 해당하는 고차원 공간인 가중치 공간의 관점에서 생각해야 합니다. 이 공간에서 학습 사례를 평면으로 나타낼 수 있으며 학습 프로세스에는 모든 학습 평면의 올바른 쪽에 가중치 벡터를 배치하는 작업이 포함됩니다.
수학에 소질이 없는 분들에게는 이전 자료보다 어려울 수 있습니다. 특히 고차원 공간의 초평면에 대해 생각하는 데 익숙하지 않은 경우 향후 콘텐츠를 이해하는 데 충분한 시간을 할애해야 할 수 있습니다. 먼저 3차원 공간을 시각화한 다음 청각적으로 차원을 상기시켜 14차원 공간을 시각화하는 데 익숙해져야 합니다. 이상하게 보일 수 있지만 이해를 돕기 위한 일반적인 관행입니다.
14차원 공간에서 초평면을 다룰 때 2D 공간에서 3D 공간으로 전환하는 것과 마찬가지로 복잡성이 크게 증가합니다. 14차원 공간이 방대하고 복잡하다는 것을 이해하는 것이 중요합니다. 이를 염두에 두고 무게 공간에 초점을 맞추는 것으로 시작하겠습니다.
가중치 공간은 퍼셉트론의 각 가중치에 대해 하나의 차원을 갖는 공간입니다. 가중치 공간의 한 지점은 임계값을 제거했다고 가정할 때 모든 가중치의 특정 구성을 나타냅니다. 모든 학습 사례는 가중치 공간에서 원점을 통과하는 초평면으로 나타낼 수 있습니다. 결과적으로 이 공간의 점은 가중치 벡터에 해당하고 훈련 사례는 평면에 해당합니다.
특정 교육 사례의 경우 올바른 출력을 생성하려면 가중치가 초평면의 한쪽에 있어야 합니다. 예를 통해 이 개념을 시각화해 보겠습니다. 정답이 하나인 훈련 사례를 생각해 보십시오. 가중치 벡터는 훈련 벡터가 가리키는 방향과 초평면의 같은 쪽에 있어야 합니다. 그 쪽의 모든 가중치 벡터는 입력 벡터와의 각도가 90도 미만이므로 양의 스칼라 곱이 됩니다. 임계값을 제거했으므로 퍼셉트론은 하나를 출력하여 정답을 제공합니다.
반대로 가중치 벡터가 평면의 잘못된 쪽에 있으면 입력 벡터와의 각도가 90도를 초과하여 음의 스칼라 곱이 생성됩니다. 결과적으로 퍼셉트론은 0을 출력하여 오답으로 이어집니다.
요약하자면, 평면의 한쪽 면에 있는 가중치 벡터는 정답을 산출하고 다른 면에 있는 가중치 벡터는 오답을 산출합니다. 이제 정답이 0인 다른 학습 사례를 살펴보겠습니다.
이 경우 입력 벡터와 90도 미만의 각도를 이루는 모든 가중치 벡터는 양의 스칼라 곱이 되어 퍼셉트론이 1을 출력하게 하여 오답으로 이어집니다. 반대로 90도를 초과하는 각도의 평면 반대편에 있는 가중치 벡터는 0보다 작은 스칼라 곱을 생성하고 퍼셉트론은 0을 출력하여 답을 올바르게 제공합니다.
이 두 훈련 사례를 하나의 가중치 공간 그림으로 결합해 봅시다. 가중치 공간이 붐비고 가능한 가중치 벡터의 원뿔이 나타납니다. 이 원뿔 내의 모든 가중치 벡터는 두 교육 사례 모두에 대해 정답을 생성합니다. 그러한 원뿔의 존재가 보장되지 않는다는 점은 주목할 가치가 있습니다. 가중치 벡터가 모든 학습 사례에 대해 정답을 제공하지 않는 시나리오가 있을 수 있습니다. 그러나 이러한 가중치 벡터가 존재하면 원뿔을 형성합니다.
학습 알고리즘은 훈련 사례를 하나씩 고려하여 결국 이 원뿔 내에 놓이도록 가중치 벡터를 조정합니다. 모든 학습 사례에 대해 작동하는 두 개의 좋은 가중치 벡터가 있는 경우 평균도 원뿔 내에 있음을 관찰하는 것이 중요합니다. 이는 문제가 볼록하고 두 솔루션의 평균 자체가 솔루션임을 의미합니다. 볼록 학습 문제는 기계 학습 과정을 단순화합니다.
가중치 공간과 가중치 벡터와 훈련 사례 간의 관계를 이해하면 퍼셉트론이 학습하는 방법에 대한 기하학적 통찰력을 얻을 수 있습니다. 목표는 모든 학습 사례에 대해 올바른 분류를 보장하는 가능한 솔루션의 원뿔 내에 있는 가중치 벡터를 찾는 것입니다.
이 비디오에서 우리는 퍼셉트론 학습 절차가 궁극적으로 실현 가능한 솔루션의 원뿔 내에서 가중치를 수렴하도록 유도한다는 증거를 제시하는 것을 목표로 합니다. 그러나 이 과정은 주로 엄격한 증명보다는 엔지니어링 측면에 중점을 둔다는 점을 강조하고 싶습니다. 과정 전반에 걸쳐 몇 가지 증명이 있을 것입니다. 그럼에도 불구하고 퍼셉트론이 궁극적으로 정답을 찾는 방법을 이해하면 귀중한 통찰력을 얻을 수 있습니다.
증명을 구성하기 위해 가중치 공간에 대한 기하학적 이해와 퍼셉트론 학습 프로세스를 활용할 것입니다. 우리는 모든 학습 사례에 대해 정답을 산출하는 실행 가능한 가중치 벡터가 있다고 가정합니다. 다이어그램에서 이것은 녹색 점으로 표시됩니다.
우리 증명의 핵심 아이디어는 퍼셉트론이 훈련 사례를 오분류할 때마다 현재 가중치 벡터가 가능한 모든 가중치 벡터에 더 가까워지는 방식으로 업데이트된다는 것입니다. 현재 가중치 벡터와 실행 가능한 가중치 벡터 사이의 제곱 거리를 입력 벡터의 선(훈련 사례 정의)을 따라 제곱된 거리와 해당 선에 직교하는 또 다른 제곱 거리의 합으로 측정할 수 있습니다. 직교 제곱 거리는 일정하게 유지되지만 입력 벡터의 선을 따라 거리는 감소합니다.
이 주장이 유망해 보이지만 다이어그램에서 금 실현 가능한 가중치 벡터로 설명된 문제에 직면합니다. 이것은 학습 사례 중 하나에 의해 정의된 평면의 오른쪽에 있는 반면 현재 가중치 벡터는 잘못된 쪽에 있습니다. 또한 입력 벡터가 상대적으로 크기 때문에 입력 벡터를 추가하면 현재 가중치 벡터가 금 가능 가중치 벡터에서 더 멀리 이동합니다. 결과적으로 우리의 초기 청구는 실패합니다.
그러나 관대하게 실현 가능한 가중치 벡터의 개념을 도입하여 이를 수정할 수 있습니다. 이러한 가중치 벡터는 모든 교육 사례를 올바르게 분류할 뿐만 아니라 각 사례에 대한 입력 벡터의 길이와 같거나 더 큰 여백으로 분류합니다. 실행 가능한 솔루션의 원뿔 내부에는 관대하게 실행 가능한 솔루션의 또 다른 원뿔이 있습니다.
이 조정으로 우리의 증명이 유효해집니다. 이제 우리는 퍼셉트론이 사례를 오분류할 때마다 충분히 실현 가능한 모든 가중치 벡터까지의 거리 제곱이 최소한 입력 벡터의 제곱 길이만큼 감소한다고 주장할 수 있습니다. 이 업데이트는 가중치 벡터가 관대하게 실현 가능한 솔루션에 더 가깝게 이동하도록 합니다.
여기서 공식적인 증거를 제공하지는 않지만 이 비공식 스케치는 수렴 프로세스를 보여줍니다. 입력 벡터가 무한히 작지 않은 경우 모든 관대하게 실현 가능한 가중치 벡터까지의 거리 제곱은 유한한 실수 후에 최소한 입력 벡터의 제곱 길이만큼 감소합니다. 결과적으로 가중치 벡터는 존재한다고 가정할 때 결국 실현 가능 영역 내에 있어야 합니다. 관대하게 실현 가능한 영역에 반드시 있을 필요는 없지만 추가 실수를 방지하기 위해 적어도 실현 가능한 영역 내에 있어야 합니다.
요약하자면, 이것은 퍼셉트론 수렴 절차가 작동함을 증명하는 비공식적인 개요입니다. 그러나 전체 증명은 관대하게 실현 가능한 가중치 벡터가 존재한다는 가정에 의존한다는 점에 유의해야 합니다. 그러한 벡터가 존재하지 않으면 증명이 무너집니다.
이 비디오에서는 사용되는 기능의 유형에서 발생하는 퍼셉트론의 한계를 탐구합니다. 퍼셉트론의 효율성은 기능 선택에 크게 좌우됩니다. 올바른 기능을 사용하면 퍼셉트론은 놀라울 정도로 다재다능할 수 있지만 잘못된 기능을 사용하면 학습 능력이 심각하게 제한됩니다. 이러한 제한으로 인해 과거에는 퍼셉트론이 선호되지 않았습니다. 학습 과정의 중요한 측면인 적절한 기능을 학습하는 문제를 강조합니다.
그러나 학습 기능이 없어도 퍼셉트론은 여전히 많은 것을 달성할 수 있습니다. 예를 들어, 영어 문장의 타당성을 결정하는 것과 같은 작업에서 많은 기능을 수동으로 정의하고 그 가중치를 학습하여 문장이 문법적으로 정확할 가능성을 결정할 수 있습니다. 그럼에도 불구하고 장기적으로는 학습 기능이 필요합니다.
퍼셉트론 연구는 1960년대 후반과 1970년대 초반에 퍼셉트론에 상당한 한계가 있음이 밝혀지면서 좌절에 직면했습니다. 기능을 수동으로 선택하고 충분한 기능을 통합함으로써 퍼셉트론은 거의 모든 작업을 수행할 수 있습니다. 예를 들어 이진 입력 벡터를 고려하고 특정 이진 입력 벡터를 기반으로 활성화되는 별도의 기능 단위를 만들면 이진 입력 벡터에 대한 식별을 달성할 수 있습니다. 그러나 이 접근 방식은 과도한 수의 기능 단위가 필요하여 일반화를 방해하므로 실제 문제 해결에는 비실용적입니다. 나머지 경우에는 새로운 기능 단위가 필요하고 수동 선택이 완료되면 새로운 기능 단위에 대한 가중치를 결정하기가 어렵기 때문에 다른 사례를 무시하면서 사례의 하위 집합에서 일반화하려는 시도는 소용이 없습니다.
기능 단위와 가중치가 설정되면 퍼셉트론이 학습할 수 있는 항목에 대한 엄격한 제약이 있습니다. 이러한 제한 사항을 이해하기 위해 전형적인 예를 살펴보겠습니다. 이진 임계값 결정 장치가 두 기능이 동일한 값을 갖는지 식별하는 방법을 학습할 수 있는지 확인하려고 합니다. 두 가지 긍정적인 경우와 두 가지 부정적인 경우가 있으며 각각 값이 1 또는 0인 단일 비트 기능으로 정의됩니다. 긍정적인 경우는 두 기능이 모두 켜져 있거나(1) 두 기능이 모두 꺼져 있을 때(0) 발생하는 반면, 부정적인 경우는 한 기능이 켜져 있고(1) 다른 기능이 꺼져 있는 경우(0)가 발생합니다. 이 작업은 간단해 보이지만 대수적으로 이러한 입력-출력 쌍으로 형성된 네 가지 부등식을 모두 충족하는 것은 불가능하다는 것을 증명할 수 있습니다. 결과적으로 퍼셉트론이 네 가지 경우 모두에 대해 올바른 출력을 제공하도록 허용하는 가중치를 찾는 것은 불가능합니다.
이 제한은 기하학적으로도 이해할 수 있습니다. 각 포인트가 데이터 포인트를 나타내고 가중치 벡터가 데이터 포인트에 수직인 평면을 정의하는 데이터 공간을 상상합니다. 올바르게 구별하려면 가중치 평면에서 양성 사례와 음성 사례를 구분해야 합니다. 그러나 선형적으로 분리할 수 없는 학습 사례 세트가 있습니다. 즉, 초평면이 출력이 1이어야 하는 경우와 출력이 0이어야 하는 경우를 올바르게 분리할 수 없습니다. 선형적으로 분리할 수 없는 학습 사례입니다."
퍼셉트론에 대한 또 다른 파괴적인 예는 랩어라운드로 번역된 경우에도 패턴을 인식하는 것과 관련이 있습니다. 퍼셉트론은 변환된 패턴과 래핑된 패턴을 구별해야 하는 경우 픽셀 수가 같은 패턴을 구별하지 못합니다. 이러한 한계는 패턴 A와 패턴 B를 고려할 때 명백해집니다. 패턴 A에는 4개의 "on" 픽셀이 바코드 모양으로 배열되어 있고 패턴 B도 4개의 "on" 픽셀이 다르게 배열되어 있습니다. 랩어라운드로 변환하면 퍼셉트론은 이러한 패턴을 구별하는 방법을 배울 수 없습니다. Minsky와 Papert의 그룹 불변성 정리에 따르면 랩어라운드가 허용되는 경우 퍼셉트론은 변환 중인 패턴을 인식할 수 없습니다. 이 정리는 패턴 인식이 번역과 같은 변형에도 불구하고 패턴을 식별하는 것을 목표로 하기 때문에 퍼셉트론의 역사에서 특히 중요했습니다.
정리는 퍼셉트론이 원래 공식화된 대로 랩어라운드로 번역 불변성을 요구하는 패턴 인식 작업을 처리할 수 없음을 밝혔습니다. 이러한 제한으로 인해 실제 적용이 크게 제한되었고 1960년대 말과 1970년대 초에 퍼셉트론에 대한 관심과 연구가 감소했습니다. 그러나 이러한 제한은 이진 임계값 단위가 있는 단일 레이어 퍼셉트론에만 적용된다는 점에 유의해야 합니다. 인공 신경망 분야는 다층 퍼셉트론(MLP) 및 합성곱 신경망(CNN)과 같은 고급 모델의 개발로 이러한 한계를 극복하고 지속적으로 발전했습니다. MLP는 입력 및 출력 레이어 사이에 숨겨진 레이어를 도입하여 기능을 보다 복잡하고 유연하게 표현할 수 있습니다. 비선형 활성화 기능을 통합하고 가중치 조정을 위한 역전파와 같은 기술을 사용함으로써 MLP는 단일 레이어 퍼셉트론의 선형 분리 가능성 한계를 극복할 수 있습니다.
반면에 CNN은 패턴 인식 및 이미지 분류 문제를 해결하기 위해 특별히 설계되었습니다. 로컬 기능을 추출하는 컨볼루션 레이어와 공간 불변성을 캡처하는 풀링 레이어가 있는 계층 구조를 사용합니다. CNN은 이미지 인식, 객체 감지 및 자연어 처리와 같은 작업에서 놀라운 성공을 거두었습니다.
퍼셉트론의 한계는 신경망에서 기능 학습, 비선형성 및 계층적 표현의 중요성을 강조했습니다. 이 분야의 후속 발전으로 인해 향상된 학습 기능과 더 광범위한 응용 프로그램을 갖춘 보다 정교한 모델이 개발되었습니다.
퍼셉트론은 복잡한 기능을 학습하고 특정 패턴 인식 작업을 처리하는 능력에 한계가 있지만 이러한 한계는 고급 신경망 아키텍처의 개발을 통해 해결되었습니다. 다른 모델 중에서도 MLP와 CNN은 단층 퍼셉트론의 한계를 극복하고 다양한 인공 지능 영역에서 강력한 도구가 되었습니다.
그의 비디오는 퍼셉트론에 대한 학습 알고리즘과 다른 것을 달성하는 선형 뉴런에 대한 학습 알고리즘을 소개합니다. 퍼셉트론에서 가중치는 항상 좋은 가중치 세트에 가까워지는 반면 선형 뉴런에서는 출력이 항상 목표 출력에 가까워집니다.
퍼셉트론 수렴 절차는 가중치를 변경하여 좋은 가중치 세트에 더 가까워지도록 합니다. 그러나 이 보장은 두 개의 좋은 가중치 집합을 평균화하면 잘못된 가중치 집합이 될 수 있으므로 더 복잡한 네트워크로 확장할 수 없습니다. 따라서 다층 신경망의 경우 퍼셉트론 학습 절차를 사용하지 않으며 학습 중 개선의 증거도 다릅니다.
종종 다층 퍼셉트론(MLP)이라고 하는 다층 신경망은 진행 상황을 보여주기 위해 다른 접근 방식이 필요합니다. 가중치가 좋은 가중치 세트에 가까워지는 것을 보여주는 대신 실제 출력 값이 목표 출력 값에 가까워지는 것을 보여줍니다. 이것은 볼록하지 않은 문제의 경우에도 마찬가지입니다. 두 가지 좋은 솔루션의 가중치를 평균하면 좋은 솔루션이 나오지 않습니다.
선형 뉴런에 대한 학습 알고리즘은 장난감 예제를 통해 설명됩니다. 그것은 부분의 가격에 대한 무작위 추측으로 시작한 다음 관찰된 가격에 맞도록 이러한 추측을 반복적으로 조정하는 것을 포함합니다. 반복적 접근 방식은 델타 규칙을 사용하여 학습률, 부분 수 및 잔차 오류를 기반으로 가중치를 업데이트합니다.
델타 규칙은 가중치 중 하나와 관련하여 오류 측정을 차별화하여 파생됩니다. 학습 규칙은 가중치의 변화가 입력 값과 목표 출력과 실제 출력의 차이를 곱한 학습 속도와 같다고 명시합니다. 델타 규칙을 반복 적용하면 가중치를 조정하여 오류를 최소화할 수 있습니다.
델타 규칙을 사용한 학습 절차는 개별 가중치가 항상 개선된다는 것을 보장하지 않습니다. 그러나 목표 출력과 예상 출력 간의 차이는 개선되는 경향이 있습니다. 학습 속도는 학습 속도를 결정하며 학습 속도가 충분히 작으면 가중치가 주어진 훈련 사례에 대한 최상의 근사치에 접근할 수 있습니다.
선형 시스템의 경우에도 특히 입력 차원의 상관 관계가 높은 경우 학습 프로세스가 느려질 수 있다는 점에 유의해야 합니다. 이러한 경우 각 입력 차원에 얼마나 많은 가중치를 부여해야 하는지 결정하는 것이 어려워집니다. 또한 델타 규칙의 온라인 버전과 퍼셉트론 학습 규칙 사이에는 유사성이 있으며 여기서 가중치 벡터는 입력 벡터와 오류를 기반으로 조정됩니다. 그러나 델타 규칙은 학습률과 잔차 오류를 통합합니다. 안정적이고 효율적인 학습을 위해서는 적절한 학습 속도를 선택하는 것이 중요합니다.
선형 뉴런에 대해 설명된 반복 학습 프로세스는 오류 측정을 최소화하는 솔루션으로 수렴할 수 있습니다. 그러나 모든 교육 사례에 대해 원하는 출력과 정확히 일치하는 완벽한 솔루션이 없을 수 있다는 점에 유의해야 합니다. 대신 목표는 최상의 근사치를 제공하고 모든 교육 사례에서 오류 측정을 최소화하는 일련의 가중치를 찾는 것입니다. 학습 속도를 충분히 작게 만들고 학습 프로세스가 충분히 오래 지속되도록 함으로써 이 최상의 근사치에 접근할 수 있습니다.
학습 속도는 선형 시스템에서도 다를 수 있습니다. 두 입력 차원의 상관 관계가 높으면 각 입력 차원에 얼마나 많은 가중치를 부여해야 하는지 결정하기 어려워집니다. 예를 들어, 케첩과 칩의 부분 수가 항상 같은 경우 학습 프로세스가 각 구성 요소에 가격을 올바르게 할당하는 데 오랜 시간이 걸릴 수 있습니다.
흥미롭게도 델타 규칙과 퍼셉트론의 학습 규칙 사이에는 관계가 있습니다. 가중치가 각 학습 사례 후에 업데이트되는 델타 규칙의 온라인 버전은 퍼셉트론 학습 규칙과 유사합니다. 퍼셉트론 학습에서 가중치 벡터는 입력 벡터에 의해 증가하거나 감소하지만 오류가 발생할 때만 발생합니다. 델타 규칙의 온라인 버전에서 가중치 벡터는 입력 벡터에 의해 조정되지만 잔차 오류와 학습률 모두에 의해 조정됩니다.
델타 규칙을 사용할 때 한 가지 문제는 적절한 학습 속도를 선택하는 것입니다. 학습률이 너무 크면 시스템이 불안정해져 솔루션에 수렴하기 어려울 수 있습니다. 반면에 학습률이 너무 작으면 합리적인 가중치 세트에 도달하는 데 학습 프로세스가 불필요하게 오래 걸릴 수 있습니다.
선형 뉴런에 대한 학습 알고리즘은 목표 출력과 실제 출력 간의 오차를 최소화하는 것을 목표로 합니다. 학습률, 입력 값, 목표 출력과 실제 출력의 차이를 통합하는 델타 규칙을 사용하여 가중치를 반복적으로 조정합니다. 학습 프로세스가 느릴 수 있고 가중치가 개별적으로 개선되지 않을 수 있지만 전반적인 목표는 주어진 학습 사례에 대한 최상의 근사치에 접근하는 것입니다.
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
이 비디오에서는 학습 프로세스에 대한 통찰력을 제공하는 선형 뉴런의 오류 표면을 탐색합니다. 이 표면을 시각화함으로써 선형 뉴런에서 가중치가 어떻게 학습되는지에 대한 기하학적 이해를 얻을 수 있습니다. 우리가 고려하는 공간은 퍼셉트론에서 사용되는 가중치 공간과 유사하지만 추가 차원이 있습니다.
수평 치수가 가중치를 나타내고 수직 치수가 오류를 나타내는 공간을 상상해 보십시오. 이 공간에서 서로 다른 가중치 설정은 수평면의 점으로 표시되며 각 점의 높이는 해당 가중치 설정과 관련된 오류에 해당하며 모든 훈련 사례에 대해 합산됩니다. 선형 뉴런의 경우 각 가중치 설정에 대한 오류는 2차 그릇의 형태를 취하는 오류 표면을 정의합니다. 오류 표면의 수직 단면은 항상 포물선을 생성하는 반면 수평 단면은 타원을 형성합니다. 이 동작은 제곱 오차가 있는 선형 시스템에만 적용된다는 점에 유의해야 합니다. 다층 비선형 신경망으로 이동함에 따라 오류 표면이 더 복잡해집니다.
가중치가 합리적인 범위 내에서 유지되는 동안 오류 표면은 매끄럽게 유지되지만 수많은 로컬 최소값이 있을 수 있습니다. 학습을 용이하게 하기 위해 가중치에 대한 오류의 미분을 계산하는 델타 규칙을 사용합니다. 이 도함수에 비례하여 가중치를 조정하는 것은 오류 표면에서 가장 가파른 강하를 수행하는 것과 같습니다. 위에서 오류 표면을 보면 타원형 등고선이 나타납니다. 델타 규칙은 이러한 등고선에 수직으로 우리를 안내합니다. 모든 학습 사례에 대해 그래디언트가 계산되는 배치 학습에서 델타 규칙은 우리를 올바른 방향으로 안내합니다. 그러나 퍼셉트론과 유사하게 각 훈련 사례 후에 가중치가 업데이트되는 온라인 학습을 사용할 수도 있습니다. 이 경우 가중치 변경은 교육 사례에 의해 형성된 구속 평면으로 이동합니다.
교육 사례를 번갈아 가며 제약 조건 선이 교차하는 솔루션 지점을 향해 지그재그로 이동하여 두 사례를 모두 충족하는 가중치를 나타낼 수 있습니다. 또한 오류 표면을 조사하면 학습 속도가 느려지는 조건을 이해할 수 있습니다. 등고선을 나타내는 타원이 두 훈련 사례에 해당하는 선이 거의 평행할 때 발생하는 매우 긴 경우 그래디언트는 바람직하지 않은 특성을 나타냅니다. 그래디언트는 멀리 이동하지 않으려는 방향으로 커지고 크게 진행하려는 방향으로 작아집니다. 이 불일치는 효율적인 학습을 방해하고 길쭉한 축을 따라 오류 표면의 계곡과 같은 구조를 횡단하는 것을 어렵게 만듭니다.
선형 뉴런의 오류 표면을 시각화하면 학습 과정에 대한 귀중한 통찰력을 얻을 수 있습니다. 표면의 기하학을 이해하면 델타 규칙의 동작과 학습 속도에 대한 영향을 파악하는 데 도움이 됩니다.
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
학습 규칙을 선형 뉴런에서 비선형 뉴런의 다층 네트워크로 확장하려면 두 단계를 거쳐야 합니다. 먼저 단일 비선형 뉴런, 특히 로지스틱 뉴런에 대한 학습 규칙을 일반화해야 합니다. 로지스틱 뉴런이 예로 사용되지만 다른 유형의 비선형 뉴런도 사용할 수 있습니다.
로지스틱 뉴런은 편향의 합과 입력 라인의 가중 합인 z로 표시되는 로짓을 계산합니다. y로 표시되는 출력은 로짓의 부드러운 비선형 함수입니다. 그래프에서 z가 크고 음수일 때 함수가 0에 가까워지고, z가 크고 양수일 때 1에 가까워지며 그 사이에서 매끄럽고 비선형적인 변화를 보이는 것을 관찰할 수 있다. 로지스틱 함수의 연속성은 학습에 편리한 도함수를 제공합니다. 가중치(학습에 중요함)에 대한 로지스틱 뉴런의 도함수를 얻기 위해 먼저 가중치에 대한 로짓 자체의 도함수를 계산합니다. 이 도함수는 xi로 표시되는 입력 라인의 값으로 단순화됩니다. 유사하게, xi에 대한 로짓의 도함수는 가중치 wi입니다.
로짓에 대한 출력의 도함수는 출력 자체로 표현할 수 있습니다. 특히, 출력이 y로 표시되면 dy/dz는 y * (1 - y)로 제공됩니다. 이 결과의 수학적 유도는 다음 슬라이드에 제공되며 지루하지만 간단한 계산이 필요합니다. 로짓에 대한 출력의 도함수와 가중치에 대한 로짓의 도함수를 얻었으므로 이제 가중치에 대한 출력의 도함수를 결정할 수 있습니다. 체인 규칙을 적용하면 dz/dw는 xi로, dy/dz는 y * (1 - y)로 됩니다. 결과적으로 델타 규칙과 매우 유사한 로지스틱 뉴런에 대한 학습 규칙에 도달합니다.
가중치를 수정할 때 de/dwi로 표시되는 오류의 변화는 모든 교육 사례(n)에 입력 라인의 값(xin)과 잔차의 곱을 합산하여 얻습니다. 목표 출력과 뉴런의 실제 출력. 그러나 로지스틱 함수의 기울기에서 파생된 추가 용어, 즉 yn * (1 - yn)이 있습니다. 델타 규칙을 약간 수정하면 로지스틱 뉴런을 훈련하기 위한 경사 하강법 학습 규칙에 도달합니다.
기울기 하강법 학습 규칙을 로지스틱 뉴런에 적용하여 비선형 뉴런의 다층 네트워크를 효과적으로 훈련할 수 있습니다. 이것은 학습 규칙을 선형 시스템 이상으로 확장하고 더 복잡한 작업을 처리할 수 있게 합니다. 이 학습 규칙이 다중 계층 네트워크의 맥락에서 작동하는 방식을 이해하기 위해 간단한 2계층 네트워크를 예로 들어 보겠습니다. 다중 뉴런이 있는 입력 레이어와 단일 로지스틱 뉴런이 있는 출력 레이어가 있습니다. 레이어 사이의 가중치는 W로, 편향은 b로 표시됩니다.
학습 과정에는 두 단계가 포함됩니다. 먼저 주어진 입력에 대한 네트워크의 출력을 계산합니다. 이것은 네트워크를 통해 입력을 전파하고, 각 뉴런의 총 입력(로짓)에 로지스틱 함수를 적용하고, 최종 출력을 얻음으로써 수행됩니다. 다음으로 체인 규칙을 사용하여 가중치에 대한 오차의 기울기를 계산합니다. 출력 계층에서 시작하여 출력에 대한 오류의 도함수를 계산합니다. 이는 단순히 목표 출력과 네트워크의 실제 출력 간의 차이입니다. 그런 다음 이 오류 기울기를 네트워크를 통해 역방향으로 전파하고 숨겨진 레이어에서 기울기를 얻기 위해 각 뉴런에서 로지스틱 함수의 도함수를 곱합니다. 마지막으로 계산된 그래디언트와 학습률을 사용하여 가중치를 업데이트합니다. 학습 속도는 가중치 업데이트의 단계 크기를 결정하며 학습 속도를 제어하기 위해 조정할 수 있습니다. 가중치 업데이트는 다음 방정식을 따릅니다. ΔW = learning_rate * error_gradient * 입력, 여기서 ΔW는 가중치의 변화를 나타냅니다.
정방향 전파, 오류 역전파 및 가중치 업데이트 프로세스는 설정된 에포크 수 동안 또는 네트워크가 원하는 성능 수준에 도달할 때까지 반복적으로 반복됩니다. 가중치를 반복적으로 조정함으로써 네트워크는 점진적으로 더 나은 예측을 하거나 입력을 더 정확하게 분류하는 방법을 배웁니다. 로지스틱 뉴런에 대해 논의한 학습 규칙을 다른 유형의 비선형 활성화 함수에도 일반화할 수 있다는 점에 유의하는 것이 중요합니다. 핵심은 네트워크를 통해 오류 기울기를 효과적으로 전파하기 위해 활성화 함수의 도함수를 정확하게 계산하는 것입니다.
학습 규칙을 선형 뉴런에서 로지스틱 뉴런으로 확장하고 다층 네트워크에 적용하면 복잡한 비선형 모델을 학습할 수 있습니다. 이를 통해 오류 기울기를 기반으로 가중치를 반복적으로 조정하여 패턴 인식, 분류 및 회귀를 포함한 광범위한 작업을 해결할 수 있습니다.
강의 1.4 — 학습의 간단한 예
강의 1.4 — 학습의 간단한 예 [머신러닝을 위한 신경망]
이 기계 학습 예제에서는 숫자를 인식하는 방법을 학습하는 간단한 신경망을 살펴보겠습니다. 프로세스 전반에 걸쳐 기본 학습 알고리즘을 사용하여 가중치의 진화를 목격하게 됩니다.
우리의 초점은 손으로 쓴 모양을 식별하기 위해 간단한 네트워크를 훈련하는 것입니다. 네트워크는 픽셀 강도를 나타내는 입력 뉴런과 클래스를 나타내는 출력 뉴런의 두 계층으로 구성됩니다. 목표는 특정 모양에 해당하는 출력 뉴런이 해당 모양이 제시될 때 활성화되는 것입니다.
각 활성 픽셀은 그것이 속한 모양에 대해 "투표"하며 이러한 투표의 강도는 다양합니다. 출력 단위 간에 경쟁이 있다고 가정하면 가장 많은 표를 얻은 모양이 승리합니다. 우리는 나중 강의에서 이 경쟁적 측면을 탐구할 것입니다.
가중치를 시각화하려면 수천 개의 가중치를 수용할 수 있는 디스플레이가 필요합니다. 입력과 출력 단위 사이의 개별 연결에 가중치를 쓰는 대신 각 출력 단위에 대한 작은 맵을 만들 것입니다. 이러한 맵은 검은색 및 흰색 얼룩을 사용하여 입력 픽셀의 연결 강도를 나타냅니다. 각 얼룩의 면적은 크기를 나타내고 색상은 연결 부호를 나타냅니다.
처음에는 가중치에 작은 임의의 값이 할당됩니다. 가중치를 개선하기 위해 네트워크에 데이터를 제공하고 그에 따라 가중치를 조정하도록 훈련합니다. 이미지가 표시되면 활성 픽셀에서 올바른 클래스로 가중치를 증가시킵니다. 그러나 가중치가 과도하게 커지는 것을 방지하기 위해 활성 픽셀에서 네트워크가 추측하는 클래스까지 가중치를 감소시킵니다. 이 교육 접근 방식은 네트워크가 초기 경향에 집착하기보다 올바른 결정을 내리도록 안내합니다.
네트워크에 수백 개의 훈련 예제를 보여준 후 가중치를 다시 관찰합니다. 규칙적인 패턴을 형성하기 시작합니다. 추가 교육 예제를 사용하면 가중치가 계속 변경되고 결국 안정화됩니다. 이 시점에서 가중치는 모양의 템플릿과 비슷합니다. 예를 들어, "1" 단위에 들어가는 가중치는 하나를 식별하기 위한 템플릿 역할을 합니다. 마찬가지로 "9" 단위로 들어가는 가중치는 특정 기능의 유무에 따라 9와 7을 구별하는 데 중점을 둡니다.
이 학습 알고리즘은 네트워크의 단순성으로 인해 모양을 구별하는 데 제한된 능력만 달성할 수 있다는 점에 주목할 가치가 있습니다. 학습된 가중치는 템플릿으로 효과적으로 기능하고 네트워크는 템플릿과 잉크 간의 중첩을 기반으로 승자를 결정합니다. 그러나 이 접근 방식은 손으로 쓴 숫자의 변형 복잡성에 직면했을 때 부족합니다. 이를 해결하기 위해서는 전체 모양의 단순한 템플릿 매칭으로는 문제를 충분히 해결할 수 없기 때문에 특징을 추출하고 배열을 분석해야 합니다.
요약하면 이 예제는 숫자를 인식하는 간단한 신경망 훈련을 보여줍니다. 네트워크의 가중치가 진화하고 모양에 대한 템플릿과 유사하지만 손으로 쓴 숫자의 복잡한 변형에 직면했을 때 이 접근 방식의 한계가 분명해집니다.
강의 1.5 — 학습의 세 가지 유형
강의 1.5 — 학습의 세 가지 유형 [머신 러닝을 위한 신경망]
이 비디오에서는 지도 학습, 강화 학습 및 비지도 학습의 세 가지 주요 기계 학습 유형에 대해 설명합니다. 이 과정은 주로 전반부에는 감독 학습에, 후반부에는 비지도 학습에 중점을 둘 것입니다. 안타깝게도 시간 제약으로 인해 강화 학습은 다루지 않습니다.
감독 학습은 입력 벡터가 주어진 출력을 예측하는 것과 관련됩니다. 목표는 실수 또는 클래스 레이블을 정확하게 예측하는 것입니다. 회귀는 주가 예측과 같은 실수를 다루는 반면 분류는 양수와 음수를 구별하거나 손으로 쓴 숫자를 인식하는 것과 같은 레이블 지정을 포함합니다. 지도 학습은 숫자 매개변수(W)를 사용하여 입력을 출력에 매핑하는 함수로 표현되는 후보 모델 세트인 모델 클래스에 의존합니다. 이 매개변수는 예측 출력(Y)과 올바른 출력(t) 사이의 불일치를 최소화하도록 조정됩니다.
강화 학습은 받은 보상을 최대화하기 위해 작업 또는 작업 시퀀스를 선택하는 데 중점을 둡니다. 행동은 때때로 보상을 기준으로 선택되며 목표는 미래 보상의 예상 합계를 최대화하는 것입니다. 일반적으로 먼 거리의 보상보다 즉각적인 보상의 우선 순위를 정하기 위해 할인 요소가 사용됩니다. 강화 학습은 지연된 보상과 스칼라 보상으로 전달되는 제한된 정보로 인해 어려움을 겪습니다.
과정의 후반부에서 광범위하게 다룰 비지도 학습에는 입력 데이터의 유용한 내부 표현을 발견하는 것이 포함됩니다. 수년 동안 비지도 학습의 목표를 정의하는 것이 어려웠기 때문에 클러스터링에 찬성하여 비지도 학습이 간과되었습니다. 그러나 비지도 학습은 후속 지도 또는 강화 학습에 유익한 내부 표현 생성을 포함하여 다양한 목적을 수행합니다. 기본 매니폴드를 식별하여 이미지와 같은 고차원 입력의 소형 저차원 표현을 생성하는 것을 목표로 합니다. 비지도 학습은 또한 학습된 기능을 사용하여 경제적인 표현을 제공할 수 있으며 입력은 이진 또는 희소 코드로 표현될 수 있습니다. 또한 비지도 학습은 군집당 하나의 특징으로 희소 특징을 찾는 극단적인 경우로 볼 수 있는 군집화를 포함합니다.
이 비디오는 기계 학습의 세 가지 주요 유형인 지도 학습, 강화 학습 및 비지도 학습을 다룹니다. 감독 학습이 출력 예측에 중점을 둔다면 강화 학습은 행동 선택을 통해 보상을 극대화하는 데 중점을 둡니다. 비지도 학습은 저차원 표현 또는 학습된 기능과 같은 유용한 내부 표현을 발견하는 것을 목표로 하며 기본 클러스터 식별을 포함합니다.
강의 2.1 — 신경망 아키텍처의 유형
강의 2.1 — 신경망 아키텍처의 유형 [기계 학습을 위한 신경망]
신경망은 뉴런이 연결되는 방식을 나타내는 다양한 유형의 아키텍처를 가질 수 있습니다. 실제 응용 분야에서 가장 일반적인 아키텍처는 정보가 입력 단위에서 숨겨진 레이어를 통해 출력 단위로 흐르는 피드 포워드 신경망입니다. 반면에 순환 신경망은 정보가 주기적으로 흐르도록 하여 장기 기억과 복잡한 역학을 가능하게 하므로 더 흥미롭습니다. 반복 신경망을 훈련시키는 것은 그 복잡성으로 인해 어려운 일이지만 최근의 발전으로 더 훈련 가능하고 인상적인 작업을 수행할 수 있게 되었습니다.
또 다른 유형의 아키텍처는 대칭적으로 연결된 네트워크로, 유닛 간의 가중치가 양방향에서 동일합니다. 이러한 네트워크는 에너지 기능을 따르며 순환 네트워크에 비해 분석하기 쉽습니다. 그러나 기능이 더 제한적이며 주기를 모델링할 수 없습니다.
피드포워드 신경망에서 각 계층은 입력과 출력 간의 변환을 계산하여 각 계층에서 새로운 표현을 생성합니다. 비선형 함수는 각 계층의 뉴런 활동에 적용되어 입력 간의 유사성과 비유사성을 포착합니다. 반대로 순환 신경망은 연결 그래프에서 방향성 주기를 활용하여 복잡한 동역학 및 순차적 데이터 모델링을 허용합니다. 모든 단계에서 동일한 가중치가 사용되며 숨겨진 유닛의 상태가 다음 단계의 상태를 결정합니다.
순환 신경망은 숨겨진 상태에서 오랫동안 정보를 기억할 수 있는 능력이 있지만 이 능력을 활용하도록 훈련시키는 것은 어렵습니다. 그러나 최근 알고리즘은 순환 신경망 훈련에서 상당한 진전을 이루었습니다. 이러한 네트워크는 시퀀스의 다음 문자 예측, 텍스트 생성 또는 순차적 데이터 모델링과 같은 작업에 사용할 수 있습니다.
전반적으로 신경망 아키텍처는 간단한 계산을 위한 피드포워드 네트워크에서 메모리 및 복잡한 역학을 위한 순환 네트워크에 이르기까지 연결 및 기능이 다양할 수 있습니다.
강의 2.2 — 퍼셉트론: 1세대 신경망
강의 2.2 — 퍼셉트론: 1세대 신경망 [머신러닝을 위한 신경망]
기계 학습을 위한 알고리즘의 한 종류인 퍼셉트론은 1960년대 초에 처음 조사되었습니다. 처음에는 학습 장치로서 큰 가능성을 보였지만 나중에 Minsky와 Papert에 의해 한계가 드러나 인기가 떨어졌습니다. Minsky와 Papert는 퍼셉트론이 통계적 패턴 인식 작업에서 복잡한 패턴을 학습하는 능력에 다소 제한이 있음을 보여주었습니다.
통계적 패턴 인식 분야에서는 패턴을 인식하기 위해 표준 접근 방식을 따릅니다. 먼저 원시 입력 데이터가 처리되어 기능 활성화 세트 또는 벡터로 변환됩니다. 이 변환은 상식에 기반한 미리 정의된 프로그램을 사용하여 수행되며, 여기서 인간의 전문 지식은 당면한 작업과 관련된 기능을 결정합니다. 이 전처리 단계에는 학습이 포함되지 않는다는 점에 유의해야 합니다. 적절한 기능을 선택하는 것은 중요한 단계이며 종종 시행착오를 수반합니다. 다양한 기능을 시도하고 그 효과를 평가합니다. 이 반복 프로세스를 통해 후속 학습 단계에서 문제를 효과적으로 해결할 수 있는 일련의 기능이 최종적으로 식별됩니다.
통계적 패턴 인식의 학습 단계에는 각 기능 활성화와 관련된 가중치 결정이 포함됩니다. 이러한 가중치는 현재 입력이 특정 패턴이나 클래스에 속한다는 가설에 대해 각 기능이 제공하는 증거의 강도를 나타냅니다. 가중 기능 활성화를 합산하여 임계값과 비교되는 총 증거 점수를 얻습니다. 증거가 임계값을 초과하면 입력 벡터는 인식되는 패턴의 긍정적인 예로 분류됩니다.
퍼셉트론은 특정 유형의 통계적 패턴 인식 시스템입니다. 다양한 유형의 퍼셉트론이 있지만 Rosenblatt에서 알파 퍼셉트론이라고 하는 표준 형식은 기능 활성화로 변환되는 입력 단위로 구성됩니다. 이 변환은 뉴런의 동작과 유사할 수 있지만 시스템의 이 단계에는 학습이 포함되지 않는다는 점에 유의해야 합니다. 기능 활성화가 얻어지면 학습 알고리즘을 사용하여 가중치를 학습합니다.
퍼셉트론은 1960년대 Frank Rosenblatt의 저서 "Principles of Neurodynamics"에서 퍼셉트론을 광범위하게 연구하고 설명하면서 유명해졌습니다. 이 책은 다양한 종류의 퍼셉트론을 제시하고 혁신적인 아이디어로 가득 차 있습니다. 가장 주목할만한 기여 중 하나는 퍼셉트론과 관련된 강력한 학습 알고리즘으로, 그 기능에 대한 높은 기대를 불러일으켰습니다.
그러나 퍼셉트론을 둘러싼 초기 열정은 학습 알고리즘에 한계가 있다는 사실이 밝혀졌을 때 회의론에 부딪혔습니다. 예를 들어 탱크와 트럭의 부분적으로 가려진 사진을 구별하는 능력에 대해 과장된 주장이 제기되었습니다. 이러한 주장은 퍼셉트론이 단순히 픽셀의 총 강도를 측정하고 있다는 것이 밝혀졌을 때 틀이 깨졌습니다. 이는 인간이 더 민감하게 수행하는 작업입니다. 이러한 종류의 오해는 퍼셉트론의 평판을 손상시켰고 신경망 모델 전체의 효율성에 대한 의구심을 불러일으켰습니다.
1969년에 Minsky와 Papert는 퍼셉트론의 기능을 비판적으로 분석하고 한계를 강조한 "퍼셉트론"이라는 중요한 책을 출판했습니다. 그러나 더 넓은 분야의 인공 지능은 이러한 한계를 모든 신경망 모델에 잘못 추정했습니다. 지배적인 믿음은 Minsky와 Papert가 신경망 모델이 비실용적이고 복잡한 작업을 학습할 수 없다는 것을 입증했다는 것입니다. 실제로 Minsky와 Papert의 연구 결과는 그들이 연구한 퍼셉트론에만 국한되었으며 신경망 전체의 잠재력을 무효화하지 않았습니다.
우리가 곧 살펴볼 퍼셉트론 수렴 절차가 오늘날 큰 특징 벡터와 관련된 작업에 널리 사용되고 있다는 점은 주목할 가치가 있습니다. 실제로 Google과 같은 주요 회사는 퍼셉트론 기반 알고리즘을 사용하여 방대한 기능 세트를 기반으로 결과를 예측합니다.
퍼셉트론의 결정 단위는 이전에 신경망 모델에서 접했던 뉴런 유형인 이진 임계값 뉴런입니다. 이해를 돕기 위해 이러한 뉴런은 다른 뉴런에서 받은 입력의 가중 합계를 계산하고 편향 항을 추가하며 합계가 0을 초과하면 1의 출력을 생성하고 그렇지 않으면 0의 출력을 생성합니다.
학습 프로세스를 단순화하기 위해 각 입력 벡터를 상수 값 1의 추가 입력으로 증가시켜 편향을 가중치로 처리할 수 있습니다. 이렇게 하면 편향이 이 추가 입력 라인에 가중치로 통합되어 편향에 대한 별도의 학습 규칙이 필요하지 않습니다. 본질적으로 바이어스는 임계값의 음수 값을 갖는 가중치와 동일해집니다.
이제 놀랍도록 강력하고 솔루션으로 수렴하는 것이 보장되는 퍼셉트론의 학습 절차를 살펴보겠습니다. 그러나 나중에 논의될 보증과 관련하여 몇 가지 주의 사항을 고려하는 것이 중요합니다.
시작하려면 모든 입력 벡터에 값이 1인 추가 구성 요소를 포함합니다. 이제 추가 입력 라인에서 가중치로 처리되므로 가중치에 집중하고 편향을 무시할 수 있습니다. "합리적인 시간"의 정확한 정의는 상황에 따라 다를 수 있지만 교육 사례는 각 사례가 합리적인 시간 프레임 내에서 선택되도록 보장하는 모든 정책에 따라 선택됩니다.
학습 사례를 선택한 후 퍼셉트론에서 생성된 출력을 평가하고 예상 출력과 비교합니다. 퍼셉트론의 결정이 원하는 분류와 일치함을 나타내는 출력이 정확하면 가중치를 변경하지 않고 그대로 둡니다. 그러나 출력이 올바르지 않으면 다음 규칙에 따라 가중치를 조정합니다.
놀랍게도, 이 간단한 학습 절차는 모든 교육 사례에 대해 올바른 출력을 생성하는 일련의 가중치를 찾도록 보장됩니다. 그러나 중요한 조건이 충족되어야 합니다. 모든 학습 사례를 올바르게 분류할 수 있는 실현 가능한 가중치 집합이 있어야 합니다. 불행하게도 많은 흥미로운 문제의 경우 이러한 실현 가능한 가중치 집합이 존재하지 않을 수 있습니다.
실현 가능한 가중치 세트의 존재 여부는 사용되는 기능의 선택에 따라 크게 달라집니다. 많은 문제에서 가장 중요한 문제는 관련 패턴을 캡처하는 데 가장 적합한 기능을 결정하는 것입니다. 올바른 기능을 선택하면 학습 프로세스가 실현 가능하고 효과적이 됩니다. 반면에 부적합한 기능을 선택하면 학습이 불가능해지고 주요 초점은 기능 선택으로 이동합니다.
결론적으로 퍼셉트론은 신경망 모델의 초기 개발에 중요한 역할을 했습니다. 그들의 한계는 Minsky와 Papert에 의해 밝혀졌지만, 그들의 발견은 그들이 조사한 퍼셉트론에만 국한되었으며 신경망의 더 넓은 잠재력을 무효화하지 않았다는 점에 주목하는 것이 중요합니다. 퍼셉트론 수렴 절차는 특히 큰 특징 벡터와 관련된 작업에 유용한 도구로 남아 있습니다. 그러나 성공적인 패턴 인식의 핵심은 적절한 기능을 선택하는 데 있습니다. 올바른 기능을 사용하면 학습 과정이 훨씬 쉬워지고 부적절한 기능을 사용하면 학습이 불가능해질 수 있습니다.
강의 2.3 — 퍼셉트론의 기하학적 관점
강의 2.3 — 퍼셉트론의 기하학적 관점 [머신러닝을 위한 신경망]
이 비디오에서는 퍼셉트론이 학습하는 방법에 대한 기하학적 이해를 탐구합니다. 이를 위해 각 포인트가 모든 가중치의 특정 구성에 해당하는 고차원 공간인 가중치 공간의 관점에서 생각해야 합니다. 이 공간에서 학습 사례를 평면으로 나타낼 수 있으며 학습 프로세스에는 모든 학습 평면의 올바른 쪽에 가중치 벡터를 배치하는 작업이 포함됩니다.
수학에 소질이 없는 분들에게는 이전 자료보다 어려울 수 있습니다. 특히 고차원 공간의 초평면에 대해 생각하는 데 익숙하지 않은 경우 향후 콘텐츠를 이해하는 데 충분한 시간을 할애해야 할 수 있습니다. 먼저 3차원 공간을 시각화한 다음 청각적으로 차원을 상기시켜 14차원 공간을 시각화하는 데 익숙해져야 합니다. 이상하게 보일 수 있지만 이해를 돕기 위한 일반적인 관행입니다.
14차원 공간에서 초평면을 다룰 때 2D 공간에서 3D 공간으로 전환하는 것과 마찬가지로 복잡성이 크게 증가합니다. 14차원 공간이 방대하고 복잡하다는 것을 이해하는 것이 중요합니다. 이를 염두에 두고 무게 공간에 초점을 맞추는 것으로 시작하겠습니다.
가중치 공간은 퍼셉트론의 각 가중치에 대해 하나의 차원을 갖는 공간입니다. 가중치 공간의 한 지점은 임계값을 제거했다고 가정할 때 모든 가중치의 특정 구성을 나타냅니다. 모든 학습 사례는 가중치 공간에서 원점을 통과하는 초평면으로 나타낼 수 있습니다. 결과적으로 이 공간의 점은 가중치 벡터에 해당하고 훈련 사례는 평면에 해당합니다.
특정 교육 사례의 경우 올바른 출력을 생성하려면 가중치가 초평면의 한쪽에 있어야 합니다. 예를 통해 이 개념을 시각화해 보겠습니다. 정답이 하나인 훈련 사례를 생각해 보십시오. 가중치 벡터는 훈련 벡터가 가리키는 방향과 초평면의 같은 쪽에 있어야 합니다. 그 쪽의 모든 가중치 벡터는 입력 벡터와의 각도가 90도 미만이므로 양의 스칼라 곱이 됩니다. 임계값을 제거했으므로 퍼셉트론은 하나를 출력하여 정답을 제공합니다.
반대로 가중치 벡터가 평면의 잘못된 쪽에 있으면 입력 벡터와의 각도가 90도를 초과하여 음의 스칼라 곱이 생성됩니다. 결과적으로 퍼셉트론은 0을 출력하여 오답으로 이어집니다.
요약하자면, 평면의 한쪽 면에 있는 가중치 벡터는 정답을 산출하고 다른 면에 있는 가중치 벡터는 오답을 산출합니다. 이제 정답이 0인 다른 학습 사례를 살펴보겠습니다.
이 경우 입력 벡터와 90도 미만의 각도를 이루는 모든 가중치 벡터는 양의 스칼라 곱이 되어 퍼셉트론이 1을 출력하게 하여 오답으로 이어집니다. 반대로 90도를 초과하는 각도의 평면 반대편에 있는 가중치 벡터는 0보다 작은 스칼라 곱을 생성하고 퍼셉트론은 0을 출력하여 답을 올바르게 제공합니다.
이 두 훈련 사례를 하나의 가중치 공간 그림으로 결합해 봅시다. 가중치 공간이 붐비고 가능한 가중치 벡터의 원뿔이 나타납니다. 이 원뿔 내의 모든 가중치 벡터는 두 교육 사례 모두에 대해 정답을 생성합니다. 그러한 원뿔의 존재가 보장되지 않는다는 점은 주목할 가치가 있습니다. 가중치 벡터가 모든 학습 사례에 대해 정답을 제공하지 않는 시나리오가 있을 수 있습니다. 그러나 이러한 가중치 벡터가 존재하면 원뿔을 형성합니다.
학습 알고리즘은 훈련 사례를 하나씩 고려하여 결국 이 원뿔 내에 놓이도록 가중치 벡터를 조정합니다. 모든 학습 사례에 대해 작동하는 두 개의 좋은 가중치 벡터가 있는 경우 평균도 원뿔 내에 있음을 관찰하는 것이 중요합니다. 이는 문제가 볼록하고 두 솔루션의 평균 자체가 솔루션임을 의미합니다. 볼록 학습 문제는 기계 학습 과정을 단순화합니다.
가중치 공간과 가중치 벡터와 훈련 사례 간의 관계를 이해하면 퍼셉트론이 학습하는 방법에 대한 기하학적 통찰력을 얻을 수 있습니다. 목표는 모든 학습 사례에 대해 올바른 분류를 보장하는 가능한 솔루션의 원뿔 내에 있는 가중치 벡터를 찾는 것입니다.
강의 2.4 — 학습이 작동하는 이유
강의 2.4 — 학습이 작동하는 이유 [머신 러닝을 위한 신경망]
이 비디오에서 우리는 퍼셉트론 학습 절차가 궁극적으로 실현 가능한 솔루션의 원뿔 내에서 가중치를 수렴하도록 유도한다는 증거를 제시하는 것을 목표로 합니다. 그러나 이 과정은 주로 엄격한 증명보다는 엔지니어링 측면에 중점을 둔다는 점을 강조하고 싶습니다. 과정 전반에 걸쳐 몇 가지 증명이 있을 것입니다. 그럼에도 불구하고 퍼셉트론이 궁극적으로 정답을 찾는 방법을 이해하면 귀중한 통찰력을 얻을 수 있습니다.
증명을 구성하기 위해 가중치 공간에 대한 기하학적 이해와 퍼셉트론 학습 프로세스를 활용할 것입니다. 우리는 모든 학습 사례에 대해 정답을 산출하는 실행 가능한 가중치 벡터가 있다고 가정합니다. 다이어그램에서 이것은 녹색 점으로 표시됩니다.
우리 증명의 핵심 아이디어는 퍼셉트론이 훈련 사례를 오분류할 때마다 현재 가중치 벡터가 가능한 모든 가중치 벡터에 더 가까워지는 방식으로 업데이트된다는 것입니다. 현재 가중치 벡터와 실행 가능한 가중치 벡터 사이의 제곱 거리를 입력 벡터의 선(훈련 사례 정의)을 따라 제곱된 거리와 해당 선에 직교하는 또 다른 제곱 거리의 합으로 측정할 수 있습니다. 직교 제곱 거리는 일정하게 유지되지만 입력 벡터의 선을 따라 거리는 감소합니다.
이 주장이 유망해 보이지만 다이어그램에서 금 실현 가능한 가중치 벡터로 설명된 문제에 직면합니다. 이것은 학습 사례 중 하나에 의해 정의된 평면의 오른쪽에 있는 반면 현재 가중치 벡터는 잘못된 쪽에 있습니다. 또한 입력 벡터가 상대적으로 크기 때문에 입력 벡터를 추가하면 현재 가중치 벡터가 금 가능 가중치 벡터에서 더 멀리 이동합니다. 결과적으로 우리의 초기 청구는 실패합니다.
그러나 관대하게 실현 가능한 가중치 벡터의 개념을 도입하여 이를 수정할 수 있습니다. 이러한 가중치 벡터는 모든 교육 사례를 올바르게 분류할 뿐만 아니라 각 사례에 대한 입력 벡터의 길이와 같거나 더 큰 여백으로 분류합니다. 실행 가능한 솔루션의 원뿔 내부에는 관대하게 실행 가능한 솔루션의 또 다른 원뿔이 있습니다.
이 조정으로 우리의 증명이 유효해집니다. 이제 우리는 퍼셉트론이 사례를 오분류할 때마다 충분히 실현 가능한 모든 가중치 벡터까지의 거리 제곱이 최소한 입력 벡터의 제곱 길이만큼 감소한다고 주장할 수 있습니다. 이 업데이트는 가중치 벡터가 관대하게 실현 가능한 솔루션에 더 가깝게 이동하도록 합니다.
여기서 공식적인 증거를 제공하지는 않지만 이 비공식 스케치는 수렴 프로세스를 보여줍니다. 입력 벡터가 무한히 작지 않은 경우 모든 관대하게 실현 가능한 가중치 벡터까지의 거리 제곱은 유한한 실수 후에 최소한 입력 벡터의 제곱 길이만큼 감소합니다. 결과적으로 가중치 벡터는 존재한다고 가정할 때 결국 실현 가능 영역 내에 있어야 합니다. 관대하게 실현 가능한 영역에 반드시 있을 필요는 없지만 추가 실수를 방지하기 위해 적어도 실현 가능한 영역 내에 있어야 합니다.
요약하자면, 이것은 퍼셉트론 수렴 절차가 작동함을 증명하는 비공식적인 개요입니다. 그러나 전체 증명은 관대하게 실현 가능한 가중치 벡터가 존재한다는 가정에 의존한다는 점에 유의해야 합니다. 그러한 벡터가 존재하지 않으면 증명이 무너집니다.
강의 2.5 — 퍼셉트론이 할 수 없는 것
강의 2.5 — 퍼셉트론이 할 수 없는 것 [머신러닝을 위한 신경망]
이 비디오에서는 사용되는 기능의 유형에서 발생하는 퍼셉트론의 한계를 탐구합니다. 퍼셉트론의 효율성은 기능 선택에 크게 좌우됩니다. 올바른 기능을 사용하면 퍼셉트론은 놀라울 정도로 다재다능할 수 있지만 잘못된 기능을 사용하면 학습 능력이 심각하게 제한됩니다. 이러한 제한으로 인해 과거에는 퍼셉트론이 선호되지 않았습니다. 학습 과정의 중요한 측면인 적절한 기능을 학습하는 문제를 강조합니다.
그러나 학습 기능이 없어도 퍼셉트론은 여전히 많은 것을 달성할 수 있습니다. 예를 들어, 영어 문장의 타당성을 결정하는 것과 같은 작업에서 많은 기능을 수동으로 정의하고 그 가중치를 학습하여 문장이 문법적으로 정확할 가능성을 결정할 수 있습니다. 그럼에도 불구하고 장기적으로는 학습 기능이 필요합니다.
퍼셉트론 연구는 1960년대 후반과 1970년대 초반에 퍼셉트론에 상당한 한계가 있음이 밝혀지면서 좌절에 직면했습니다. 기능을 수동으로 선택하고 충분한 기능을 통합함으로써 퍼셉트론은 거의 모든 작업을 수행할 수 있습니다. 예를 들어 이진 입력 벡터를 고려하고 특정 이진 입력 벡터를 기반으로 활성화되는 별도의 기능 단위를 만들면 이진 입력 벡터에 대한 식별을 달성할 수 있습니다. 그러나 이 접근 방식은 과도한 수의 기능 단위가 필요하여 일반화를 방해하므로 실제 문제 해결에는 비실용적입니다. 나머지 경우에는 새로운 기능 단위가 필요하고 수동 선택이 완료되면 새로운 기능 단위에 대한 가중치를 결정하기가 어렵기 때문에 다른 사례를 무시하면서 사례의 하위 집합에서 일반화하려는 시도는 소용이 없습니다.
기능 단위와 가중치가 설정되면 퍼셉트론이 학습할 수 있는 항목에 대한 엄격한 제약이 있습니다. 이러한 제한 사항을 이해하기 위해 전형적인 예를 살펴보겠습니다. 이진 임계값 결정 장치가 두 기능이 동일한 값을 갖는지 식별하는 방법을 학습할 수 있는지 확인하려고 합니다. 두 가지 긍정적인 경우와 두 가지 부정적인 경우가 있으며 각각 값이 1 또는 0인 단일 비트 기능으로 정의됩니다. 긍정적인 경우는 두 기능이 모두 켜져 있거나(1) 두 기능이 모두 꺼져 있을 때(0) 발생하는 반면, 부정적인 경우는 한 기능이 켜져 있고(1) 다른 기능이 꺼져 있는 경우(0)가 발생합니다. 이 작업은 간단해 보이지만 대수적으로 이러한 입력-출력 쌍으로 형성된 네 가지 부등식을 모두 충족하는 것은 불가능하다는 것을 증명할 수 있습니다. 결과적으로 퍼셉트론이 네 가지 경우 모두에 대해 올바른 출력을 제공하도록 허용하는 가중치를 찾는 것은 불가능합니다.
이 제한은 기하학적으로도 이해할 수 있습니다. 각 포인트가 데이터 포인트를 나타내고 가중치 벡터가 데이터 포인트에 수직인 평면을 정의하는 데이터 공간을 상상합니다. 올바르게 구별하려면 가중치 평면에서 양성 사례와 음성 사례를 구분해야 합니다. 그러나 선형적으로 분리할 수 없는 학습 사례 세트가 있습니다. 즉, 초평면이 출력이 1이어야 하는 경우와 출력이 0이어야 하는 경우를 올바르게 분리할 수 없습니다. 선형적으로 분리할 수 없는 학습 사례입니다."
퍼셉트론에 대한 또 다른 파괴적인 예는 랩어라운드로 번역된 경우에도 패턴을 인식하는 것과 관련이 있습니다. 퍼셉트론은 변환된 패턴과 래핑된 패턴을 구별해야 하는 경우 픽셀 수가 같은 패턴을 구별하지 못합니다. 이러한 한계는 패턴 A와 패턴 B를 고려할 때 명백해집니다. 패턴 A에는 4개의 "on" 픽셀이 바코드 모양으로 배열되어 있고 패턴 B도 4개의 "on" 픽셀이 다르게 배열되어 있습니다. 랩어라운드로 변환하면 퍼셉트론은 이러한 패턴을 구별하는 방법을 배울 수 없습니다. Minsky와 Papert의 그룹 불변성 정리에 따르면 랩어라운드가 허용되는 경우 퍼셉트론은 변환 중인 패턴을 인식할 수 없습니다. 이 정리는 패턴 인식이 번역과 같은 변형에도 불구하고 패턴을 식별하는 것을 목표로 하기 때문에 퍼셉트론의 역사에서 특히 중요했습니다.
정리는 퍼셉트론이 원래 공식화된 대로 랩어라운드로 번역 불변성을 요구하는 패턴 인식 작업을 처리할 수 없음을 밝혔습니다. 이러한 제한으로 인해 실제 적용이 크게 제한되었고 1960년대 말과 1970년대 초에 퍼셉트론에 대한 관심과 연구가 감소했습니다. 그러나 이러한 제한은 이진 임계값 단위가 있는 단일 레이어 퍼셉트론에만 적용된다는 점에 유의해야 합니다. 인공 신경망 분야는 다층 퍼셉트론(MLP) 및 합성곱 신경망(CNN)과 같은 고급 모델의 개발로 이러한 한계를 극복하고 지속적으로 발전했습니다. MLP는 입력 및 출력 레이어 사이에 숨겨진 레이어를 도입하여 기능을 보다 복잡하고 유연하게 표현할 수 있습니다. 비선형 활성화 기능을 통합하고 가중치 조정을 위한 역전파와 같은 기술을 사용함으로써 MLP는 단일 레이어 퍼셉트론의 선형 분리 가능성 한계를 극복할 수 있습니다.
반면에 CNN은 패턴 인식 및 이미지 분류 문제를 해결하기 위해 특별히 설계되었습니다. 로컬 기능을 추출하는 컨볼루션 레이어와 공간 불변성을 캡처하는 풀링 레이어가 있는 계층 구조를 사용합니다. CNN은 이미지 인식, 객체 감지 및 자연어 처리와 같은 작업에서 놀라운 성공을 거두었습니다.
퍼셉트론의 한계는 신경망에서 기능 학습, 비선형성 및 계층적 표현의 중요성을 강조했습니다. 이 분야의 후속 발전으로 인해 향상된 학습 기능과 더 광범위한 응용 프로그램을 갖춘 보다 정교한 모델이 개발되었습니다.
퍼셉트론은 복잡한 기능을 학습하고 특정 패턴 인식 작업을 처리하는 능력에 한계가 있지만 이러한 한계는 고급 신경망 아키텍처의 개발을 통해 해결되었습니다. 다른 모델 중에서도 MLP와 CNN은 단층 퍼셉트론의 한계를 극복하고 다양한 인공 지능 영역에서 강력한 도구가 되었습니다.
강의 3.1 — 선형 뉴런의 가중치 학습
강의 3.1 — 선형 뉴런의 가중치 학습 [기계 학습을 위한 신경망]
그의 비디오는 퍼셉트론에 대한 학습 알고리즘과 다른 것을 달성하는 선형 뉴런에 대한 학습 알고리즘을 소개합니다. 퍼셉트론에서 가중치는 항상 좋은 가중치 세트에 가까워지는 반면 선형 뉴런에서는 출력이 항상 목표 출력에 가까워집니다.
퍼셉트론 수렴 절차는 가중치를 변경하여 좋은 가중치 세트에 더 가까워지도록 합니다. 그러나 이 보장은 두 개의 좋은 가중치 집합을 평균화하면 잘못된 가중치 집합이 될 수 있으므로 더 복잡한 네트워크로 확장할 수 없습니다. 따라서 다층 신경망의 경우 퍼셉트론 학습 절차를 사용하지 않으며 학습 중 개선의 증거도 다릅니다.
종종 다층 퍼셉트론(MLP)이라고 하는 다층 신경망은 진행 상황을 보여주기 위해 다른 접근 방식이 필요합니다. 가중치가 좋은 가중치 세트에 가까워지는 것을 보여주는 대신 실제 출력 값이 목표 출력 값에 가까워지는 것을 보여줍니다. 이것은 볼록하지 않은 문제의 경우에도 마찬가지입니다. 두 가지 좋은 솔루션의 가중치를 평균하면 좋은 솔루션이 나오지 않습니다.
선형 뉴런에 대한 학습 알고리즘은 장난감 예제를 통해 설명됩니다. 그것은 부분의 가격에 대한 무작위 추측으로 시작한 다음 관찰된 가격에 맞도록 이러한 추측을 반복적으로 조정하는 것을 포함합니다. 반복적 접근 방식은 델타 규칙을 사용하여 학습률, 부분 수 및 잔차 오류를 기반으로 가중치를 업데이트합니다.
델타 규칙은 가중치 중 하나와 관련하여 오류 측정을 차별화하여 파생됩니다. 학습 규칙은 가중치의 변화가 입력 값과 목표 출력과 실제 출력의 차이를 곱한 학습 속도와 같다고 명시합니다. 델타 규칙을 반복 적용하면 가중치를 조정하여 오류를 최소화할 수 있습니다.
델타 규칙을 사용한 학습 절차는 개별 가중치가 항상 개선된다는 것을 보장하지 않습니다. 그러나 목표 출력과 예상 출력 간의 차이는 개선되는 경향이 있습니다. 학습 속도는 학습 속도를 결정하며 학습 속도가 충분히 작으면 가중치가 주어진 훈련 사례에 대한 최상의 근사치에 접근할 수 있습니다.
선형 시스템의 경우에도 특히 입력 차원의 상관 관계가 높은 경우 학습 프로세스가 느려질 수 있다는 점에 유의해야 합니다. 이러한 경우 각 입력 차원에 얼마나 많은 가중치를 부여해야 하는지 결정하는 것이 어려워집니다. 또한 델타 규칙의 온라인 버전과 퍼셉트론 학습 규칙 사이에는 유사성이 있으며 여기서 가중치 벡터는 입력 벡터와 오류를 기반으로 조정됩니다. 그러나 델타 규칙은 학습률과 잔차 오류를 통합합니다. 안정적이고 효율적인 학습을 위해서는 적절한 학습 속도를 선택하는 것이 중요합니다.
선형 뉴런에 대해 설명된 반복 학습 프로세스는 오류 측정을 최소화하는 솔루션으로 수렴할 수 있습니다. 그러나 모든 교육 사례에 대해 원하는 출력과 정확히 일치하는 완벽한 솔루션이 없을 수 있다는 점에 유의해야 합니다. 대신 목표는 최상의 근사치를 제공하고 모든 교육 사례에서 오류 측정을 최소화하는 일련의 가중치를 찾는 것입니다. 학습 속도를 충분히 작게 만들고 학습 프로세스가 충분히 오래 지속되도록 함으로써 이 최상의 근사치에 접근할 수 있습니다.
학습 속도는 선형 시스템에서도 다를 수 있습니다. 두 입력 차원의 상관 관계가 높으면 각 입력 차원에 얼마나 많은 가중치를 부여해야 하는지 결정하기 어려워집니다. 예를 들어, 케첩과 칩의 부분 수가 항상 같은 경우 학습 프로세스가 각 구성 요소에 가격을 올바르게 할당하는 데 오랜 시간이 걸릴 수 있습니다.
흥미롭게도 델타 규칙과 퍼셉트론의 학습 규칙 사이에는 관계가 있습니다. 가중치가 각 학습 사례 후에 업데이트되는 델타 규칙의 온라인 버전은 퍼셉트론 학습 규칙과 유사합니다. 퍼셉트론 학습에서 가중치 벡터는 입력 벡터에 의해 증가하거나 감소하지만 오류가 발생할 때만 발생합니다. 델타 규칙의 온라인 버전에서 가중치 벡터는 입력 벡터에 의해 조정되지만 잔차 오류와 학습률 모두에 의해 조정됩니다.
델타 규칙을 사용할 때 한 가지 문제는 적절한 학습 속도를 선택하는 것입니다. 학습률이 너무 크면 시스템이 불안정해져 솔루션에 수렴하기 어려울 수 있습니다. 반면에 학습률이 너무 작으면 합리적인 가중치 세트에 도달하는 데 학습 프로세스가 불필요하게 오래 걸릴 수 있습니다.
선형 뉴런에 대한 학습 알고리즘은 목표 출력과 실제 출력 간의 오차를 최소화하는 것을 목표로 합니다. 학습률, 입력 값, 목표 출력과 실제 출력의 차이를 통합하는 델타 규칙을 사용하여 가중치를 반복적으로 조정합니다. 학습 프로세스가 느릴 수 있고 가중치가 개별적으로 개선되지 않을 수 있지만 전반적인 목표는 주어진 학습 사례에 대한 최상의 근사치에 접근하는 것입니다.
강의 3.2 — 선형 뉴런의 오류 표면
강의 3.2 — 선형 뉴런의 오류 표면 [기계 학습을 위한 신경망]
이 비디오에서는 학습 프로세스에 대한 통찰력을 제공하는 선형 뉴런의 오류 표면을 탐색합니다. 이 표면을 시각화함으로써 선형 뉴런에서 가중치가 어떻게 학습되는지에 대한 기하학적 이해를 얻을 수 있습니다. 우리가 고려하는 공간은 퍼셉트론에서 사용되는 가중치 공간과 유사하지만 추가 차원이 있습니다.
수평 치수가 가중치를 나타내고 수직 치수가 오류를 나타내는 공간을 상상해 보십시오. 이 공간에서 서로 다른 가중치 설정은 수평면의 점으로 표시되며 각 점의 높이는 해당 가중치 설정과 관련된 오류에 해당하며 모든 훈련 사례에 대해 합산됩니다. 선형 뉴런의 경우 각 가중치 설정에 대한 오류는 2차 그릇의 형태를 취하는 오류 표면을 정의합니다. 오류 표면의 수직 단면은 항상 포물선을 생성하는 반면 수평 단면은 타원을 형성합니다. 이 동작은 제곱 오차가 있는 선형 시스템에만 적용된다는 점에 유의해야 합니다. 다층 비선형 신경망으로 이동함에 따라 오류 표면이 더 복잡해집니다.
가중치가 합리적인 범위 내에서 유지되는 동안 오류 표면은 매끄럽게 유지되지만 수많은 로컬 최소값이 있을 수 있습니다. 학습을 용이하게 하기 위해 가중치에 대한 오류의 미분을 계산하는 델타 규칙을 사용합니다. 이 도함수에 비례하여 가중치를 조정하는 것은 오류 표면에서 가장 가파른 강하를 수행하는 것과 같습니다. 위에서 오류 표면을 보면 타원형 등고선이 나타납니다. 델타 규칙은 이러한 등고선에 수직으로 우리를 안내합니다. 모든 학습 사례에 대해 그래디언트가 계산되는 배치 학습에서 델타 규칙은 우리를 올바른 방향으로 안내합니다. 그러나 퍼셉트론과 유사하게 각 훈련 사례 후에 가중치가 업데이트되는 온라인 학습을 사용할 수도 있습니다. 이 경우 가중치 변경은 교육 사례에 의해 형성된 구속 평면으로 이동합니다.
교육 사례를 번갈아 가며 제약 조건 선이 교차하는 솔루션 지점을 향해 지그재그로 이동하여 두 사례를 모두 충족하는 가중치를 나타낼 수 있습니다. 또한 오류 표면을 조사하면 학습 속도가 느려지는 조건을 이해할 수 있습니다. 등고선을 나타내는 타원이 두 훈련 사례에 해당하는 선이 거의 평행할 때 발생하는 매우 긴 경우 그래디언트는 바람직하지 않은 특성을 나타냅니다. 그래디언트는 멀리 이동하지 않으려는 방향으로 커지고 크게 진행하려는 방향으로 작아집니다. 이 불일치는 효율적인 학습을 방해하고 길쭉한 축을 따라 오류 표면의 계곡과 같은 구조를 횡단하는 것을 어렵게 만듭니다.
선형 뉴런의 오류 표면을 시각화하면 학습 과정에 대한 귀중한 통찰력을 얻을 수 있습니다. 표면의 기하학을 이해하면 델타 규칙의 동작과 학습 속도에 대한 영향을 파악하는 데 도움이 됩니다.
강의 3.3 — 로지스틱 출력 뉴런의 학습 가중치
강의 3.3 — 로지스틱 출력 뉴런의 학습 가중치 [머신러닝을 위한 신경망]
학습 규칙을 선형 뉴런에서 비선형 뉴런의 다층 네트워크로 확장하려면 두 단계를 거쳐야 합니다. 먼저 단일 비선형 뉴런, 특히 로지스틱 뉴런에 대한 학습 규칙을 일반화해야 합니다. 로지스틱 뉴런이 예로 사용되지만 다른 유형의 비선형 뉴런도 사용할 수 있습니다.
로지스틱 뉴런은 편향의 합과 입력 라인의 가중 합인 z로 표시되는 로짓을 계산합니다. y로 표시되는 출력은 로짓의 부드러운 비선형 함수입니다. 그래프에서 z가 크고 음수일 때 함수가 0에 가까워지고, z가 크고 양수일 때 1에 가까워지며 그 사이에서 매끄럽고 비선형적인 변화를 보이는 것을 관찰할 수 있다. 로지스틱 함수의 연속성은 학습에 편리한 도함수를 제공합니다. 가중치(학습에 중요함)에 대한 로지스틱 뉴런의 도함수를 얻기 위해 먼저 가중치에 대한 로짓 자체의 도함수를 계산합니다. 이 도함수는 xi로 표시되는 입력 라인의 값으로 단순화됩니다. 유사하게, xi에 대한 로짓의 도함수는 가중치 wi입니다.
로짓에 대한 출력의 도함수는 출력 자체로 표현할 수 있습니다. 특히, 출력이 y로 표시되면 dy/dz는 y * (1 - y)로 제공됩니다. 이 결과의 수학적 유도는 다음 슬라이드에 제공되며 지루하지만 간단한 계산이 필요합니다. 로짓에 대한 출력의 도함수와 가중치에 대한 로짓의 도함수를 얻었으므로 이제 가중치에 대한 출력의 도함수를 결정할 수 있습니다. 체인 규칙을 적용하면 dz/dw는 xi로, dy/dz는 y * (1 - y)로 됩니다. 결과적으로 델타 규칙과 매우 유사한 로지스틱 뉴런에 대한 학습 규칙에 도달합니다.
가중치를 수정할 때 de/dwi로 표시되는 오류의 변화는 모든 교육 사례(n)에 입력 라인의 값(xin)과 잔차의 곱을 합산하여 얻습니다. 목표 출력과 뉴런의 실제 출력. 그러나 로지스틱 함수의 기울기에서 파생된 추가 용어, 즉 yn * (1 - yn)이 있습니다. 델타 규칙을 약간 수정하면 로지스틱 뉴런을 훈련하기 위한 경사 하강법 학습 규칙에 도달합니다.
기울기 하강법 학습 규칙을 로지스틱 뉴런에 적용하여 비선형 뉴런의 다층 네트워크를 효과적으로 훈련할 수 있습니다. 이것은 학습 규칙을 선형 시스템 이상으로 확장하고 더 복잡한 작업을 처리할 수 있게 합니다. 이 학습 규칙이 다중 계층 네트워크의 맥락에서 작동하는 방식을 이해하기 위해 간단한 2계층 네트워크를 예로 들어 보겠습니다. 다중 뉴런이 있는 입력 레이어와 단일 로지스틱 뉴런이 있는 출력 레이어가 있습니다. 레이어 사이의 가중치는 W로, 편향은 b로 표시됩니다.
학습 과정에는 두 단계가 포함됩니다. 먼저 주어진 입력에 대한 네트워크의 출력을 계산합니다. 이것은 네트워크를 통해 입력을 전파하고, 각 뉴런의 총 입력(로짓)에 로지스틱 함수를 적용하고, 최종 출력을 얻음으로써 수행됩니다. 다음으로 체인 규칙을 사용하여 가중치에 대한 오차의 기울기를 계산합니다. 출력 계층에서 시작하여 출력에 대한 오류의 도함수를 계산합니다. 이는 단순히 목표 출력과 네트워크의 실제 출력 간의 차이입니다. 그런 다음 이 오류 기울기를 네트워크를 통해 역방향으로 전파하고 숨겨진 레이어에서 기울기를 얻기 위해 각 뉴런에서 로지스틱 함수의 도함수를 곱합니다. 마지막으로 계산된 그래디언트와 학습률을 사용하여 가중치를 업데이트합니다. 학습 속도는 가중치 업데이트의 단계 크기를 결정하며 학습 속도를 제어하기 위해 조정할 수 있습니다. 가중치 업데이트는 다음 방정식을 따릅니다. ΔW = learning_rate * error_gradient * 입력, 여기서 ΔW는 가중치의 변화를 나타냅니다.
정방향 전파, 오류 역전파 및 가중치 업데이트 프로세스는 설정된 에포크 수 동안 또는 네트워크가 원하는 성능 수준에 도달할 때까지 반복적으로 반복됩니다. 가중치를 반복적으로 조정함으로써 네트워크는 점진적으로 더 나은 예측을 하거나 입력을 더 정확하게 분류하는 방법을 배웁니다. 로지스틱 뉴런에 대해 논의한 학습 규칙을 다른 유형의 비선형 활성화 함수에도 일반화할 수 있다는 점에 유의하는 것이 중요합니다. 핵심은 네트워크를 통해 오류 기울기를 효과적으로 전파하기 위해 활성화 함수의 도함수를 정확하게 계산하는 것입니다.
학습 규칙을 선형 뉴런에서 로지스틱 뉴런으로 확장하고 다층 네트워크에 적용하면 복잡한 비선형 모델을 학습할 수 있습니다. 이를 통해 오류 기울기를 기반으로 가중치를 반복적으로 조정하여 패턴 인식, 분류 및 회귀를 포함한 광범위한 작업을 해결할 수 있습니다.