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

 

강의 3.4 — 역전파 알고리즘



강의 3.4 — 역전파 알고리즘 [머신러닝을 위한 신경망]

예비 과정을 살펴보았으니 이제 여러 계층의 기능을 학습하는 핵심 문제를 살펴보겠습니다. 이 비디오에서는 1980년대에 등장하여 신경망에 대한 관심을 급증시킨 역전파 알고리즘에 대해 마지막으로 설명합니다.

역전파에 대해 알아보기 전에 먼저 효과적이지는 않지만 언급할 가치가 있는 또 다른 알고리즘에 대해 논의해 보겠습니다. 물류 단위의 가중치를 학습하는 방법을 알게 되면 다음 과제는 숨겨진 단위의 가중치를 학습하는 것입니다. 은닉 유닛이 없는 신경망은 모델링할 수 있는 입력-출력 매핑이 제한됩니다. 퍼셉트론과 같이 손으로 코딩한 기능 계층은 네트워크의 성능을 향상시키지만 새로운 작업을 위해 이러한 기능을 설계하는 것은 어렵고 수동적인 프로세스로 남아 있습니다.

이상적으로는 기능 설계 루프를 자동화하여 사람의 통찰력이나 반복적인 시행착오 없이 컴퓨터가 좋은 기능을 찾을 수 있도록 하고 싶습니다. 여기서 가중치를 교란하여 학습한다는 개념이 떠오릅니다. 무작위로 가중치를 교란시키는 것은 돌연변이와 유사하며 네트워크의 성능을 향상시키는지 관찰할 수 있습니다. 성능이 향상되면 일종의 강화 학습과 유사하게 가중치 변화를 저장합니다.

그러나 이 방법은 매우 비효율적입니다. 가중치 변경이 네트워크를 개선하는지 여부를 평가하려면 대표적인 교육 사례 세트에 대한 여러 순방향 패스가 필요합니다. 단일 교육 사례를 기반으로 체중 변화의 영향을 평가하는 것은 부적절합니다. 또한 학습이 진행됨에 따라 가중치 간의 적절한 상대 값이 중요하기 때문에 가중치의 큰 변화는 상황을 악화시키는 경향이 있습니다. 학습이 끝날 무렵에는 각 체중 변화를 평가하는 데 시간이 많이 걸릴 뿐만 아니라 변화 자체도 작아야 합니다.

학습을 위해 섭동을 사용하는 약간 더 좋은 방법이 있습니다. 한 가지 접근 방식은 모든 가중치를 병렬로 교란한 다음 성능 향상을 가중치 변화와 연관시키는 것입니다. 그러나 이 방법은 상당한 개선을 제공하지 않습니다. 문제는 다른 가중치를 변경하여 발생하는 잡음 속에서 한 가중치를 변경하는 효과를 분리하기 위해 모든 가중치의 서로 다른 무작위 섭동을 사용하여 수많은 시험을 수행해야 한다는 것입니다.

약간의 개선을 보여주는 다른 접근 방식은 가중치 대신 숨겨진 유닛의 활동을 무작위로 교란시키는 것입니다. 특정 훈련 사례에서 은닉 유닛의 활동을 방해하면 성능이 향상된다고 판단되면 가중치 변화를 계산할 수 있습니다. 가중치보다 활동이 적기 때문에 알고리즘이 더 효율적이 됩니다. 그러나 역전파는 네트워크의 뉴런 수와 동일한 요소로 인해 효율성 면에서 여전히 이러한 방법을 능가합니다.

역전파의 핵심 아이디어는 은닉 유닛이 무엇을 해야 하는지 알지 못할 수 있지만(따라서 "숨김"이라는 용어) 특정 훈련 사례에서 은닉 유닛의 활동을 수정할 때 오류가 얼마나 빨리 변하는지 계산할 수 있다는 것입니다. 숨겨진 유닛의 활동을 원하는 상태로 사용하는 대신 활동에 대한 오류 미분을 활용합니다. 각각의 은닉 유닛이 여러 출력 유닛에 영향을 미칠 수 있으므로 그 효과를 결합해야 효율적으로 수행할 수 있습니다.

단일 학습 사례에 대한 역전파 알고리즘을 요약하기 위해 출력 단위의 목표 값과 네트워크에서 생성된 실제 값 간의 차이 제곱으로 오류를 정의하는 것으로 시작합니다. 이 오류를 미분하여 출력 장치의 출력과 관련하여 오류가 어떻게 변경되는지에 대한 표현을 얻습니다. 그런 다음 위 계층의 이전에 계산된 오차 도함수를 사용하여 숨겨진 장치에서 나가는 모든 연결의 효과를 합산하여 숨겨진 장치에 대한 오류 도함수를 계산할 수 있습니다.

역전파 알고리즘을 사용하면 한 계층에서 이전 계층으로 오차 도함수를 효율적으로 전파할 수 있습니다. 은닉 유닛에 대한 오차 도함수가 있으면 은닉 유닛으로 들어오는 가중치에 대한 오차 도함수를 쉽게 계산할 수 있습니다. 이것은 유닛이 수신한 총 입력에 대한 오차 도함수에 아래 계층의 유닛 활동을 곱하여 수행됩니다. 가중치에 대해 계산된 오차 미분은 특정 가중치를 수정할 때 오차가 어떻게 변하는지 나타냅니다.

이제 단일 교육 사례에 대한 역전파 알고리즘과 관련된 단계를 간략하게 설명하겠습니다.

  1. 오류를 네트워크의 목표 값과 실제 출력 값 간의 차이 제곱으로 정의합니다.

  2. 전체 입력에 대한 출력의 도함수에 출력에 대한 오차 도함수를 곱하는 연쇄 법칙을 적용하여 각 출력 단위의 출력에 대한 오차 도함수를 계산합니다.

  3. 은닉 유닛에서 나가는 모든 연결의 효과를 합산하여 각 은닉 유닛의 출력에 대한 오차 도함수를 계산합니다. 여기에는 각 연결의 가중치에 위 계층에서 계산된 오차 도함수를 곱하는 작업이 포함됩니다.

  4. 모든 은닉층에 대해 3단계를 반복하여 오차 미분을 네트워크를 통해 역방향으로 전파합니다.

  5. 각 단위에 들어오는 가중치에 대한 오차 도함수를 계산합니다. 이것은 유닛이 수신한 총 입력에 대한 오차 도함수에 아래 계층의 유닛 활동을 곱하여 수행됩니다.

이러한 단계를 따르면 단일 교육 사례를 기반으로 네트워크의 모든 가중치에 대한 오류 도함수를 효율적으로 계산할 수 있습니다. 역전파 알고리즘을 사용하면 각 가중치를 수정하는 것이 전체 오류에 어떤 영향을 미치고 학습 프로세스를 용이하게 하는지 이해할 수 있습니다. 역전파 알고리즘을 이해하고 구현하는 것은 여러 계층의 기능을 사용하여 심층 신경망을 교육하는 데 중요합니다. 이 설명은 신중한 연구가 필요할 수 있지만 기본 개념과 계산을 파악하는 것은 신경망 훈련에서 역전파를 효과적으로 활용하는 데 필수적입니다.

역전파 알고리즘을 사용하여 네트워크의 모든 가중치에 대한 오차 도함수를 계산한 후에는 이 정보를 사용하여 가중치를 업데이트하고 네트워크의 성능을 개선할 수 있습니다. 이 프로세스를 가중치 조정 또는 가중치 업데이트라고 합니다. 가중치 업데이트에는 일반적으로 경사 하강법과 같은 최적화 알고리즘을 사용하여 오류를 최소화하는 방향으로 가중치를 반복적으로 조정합니다. 기본 아이디어는 학습 속도 매개 변수를 곱한 해당 오류 미분의 작은 부분을 빼서 각 가중치를 업데이트하는 것입니다.

학습 속도는 가중치 공간의 단계 크기를 결정하고 훈련 프로세스의 수렴 속도에 영향을 미칩니다. 안정적이고 효율적인 학습을 위해서는 적절한 학습 속도를 선택하는 것이 중요합니다. 학습률이 너무 크면 가중치가 분산될 수 있고 학습률이 너무 작으면 수렴이 느려질 수 있습니다. 가중치 업데이트 프로세스 중에 가중치를 작은 배치로 업데이트하거나 한 번에 단일 교육 예제에서 업데이트하는 것이 일반적입니다. 이 접근 방식은 확률적 경사하강법 또는 미니배치 경사하강법으로 알려져 있으며 학습 프로세스 속도를 높이고 로컬 최적점에 갇히는 것을 방지하는 데 도움이 됩니다.

가중치 업데이트 프로세스는 일반적으로 여러 에포크에 대해 반복되며 각 에포크는 전체 교육 데이터 세트를 통과하는 것으로 구성됩니다. 이를 통해 네트워크는 여러 훈련 예제에서 누적된 오류를 기반으로 가중치를 점진적으로 조정하여 일반화 성능을 향상시킬 수 있습니다. 역전파 및 가중치 업데이트는 신경망의 훈련 단계에서 수행된다는 점에 유의하는 것이 중요합니다. 네트워크가 훈련되면 단순히 네트워크를 통해 입력을 공급하고 출력을 얻음으로써 보이지 않는 새로운 데이터에 대한 예측을 만드는 데 사용할 수 있습니다.

역전파와 여러 계층의 기능을 학습하는 기능은 딥 러닝의 성공에 매우 중요했습니다. 역전파 알고리즘을 통해 신경망은 데이터의 복잡한 표현을 자동으로 학습하여 이미지 및 음성 인식, 자연어 처리 등을 포함한 광범위한 작업을 해결할 수 있습니다.

역전파 알고리즘은 다중 계층이 있는 신경망에서 오차 도함수를 효율적으로 계산하기 위한 강력한 기술입니다. 오류 정보를 네트워크를 통해 역방향으로 전파함으로써 가중치의 변화가 전체 오류에 어떤 영향을 미치는지 확인할 수 있습니다. 그런 다음 이 정보는 가중치를 반복적으로 업데이트하는 데 사용되어 네트워크가 시간이 지남에 따라 성능을 학습하고 개선할 수 있도록 합니다.

Lecture 3.4 — The backpropagation algorithm [Neural Networks for Machine Learning]
Lecture 3.4 — The backpropagation algorithm [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
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...
 

강의 3.5 — 역전파에서 도함수 사용하기



강의 3.5 — 역전파의 파생물 사용 [머신 러닝을 위한 신경망]

다층 신경망에서 효율적으로 학습하려면 모든 가중치에 대한 오차 도함수를 얻는 것이 중요합니다. 그러나 학습 절차를 완전히 지정하기 위해 해결해야 할 몇 가지 다른 고려 사항이 있습니다.

이러한 고려 사항 중 하나는 가중치 업데이트 빈도를 결정하고 대규모 네트워크를 사용할 때 과적합을 방지하는 것입니다. 역전파 알고리즘은 단일 학습 사례를 기반으로 각 가중치에 대한 도함수를 효율적으로 계산하지만 완전한 학습 알고리즘은 아닙니다. 적절한 학습 절차를 개발하려면 추가 요소를 지정해야 합니다.

가중치 파생물을 활용하여 최적의 가중치 세트를 발견할 때 최적화 문제가 발생합니다. 한 가지 질문은 가중치를 얼마나 자주 업데이트해야 하는가입니다. 한 가지 접근 방식은 각 교육 사례 후에 가중치를 업데이트하여 다양한 오차 미분으로 인해 지그재그로 만드는 것입니다. 그러나 평균적으로 작은 체중 변화가 올바른 방향으로 이어질 수 있습니다. 또는 전체 배치 교육에는 전체 교육 데이터를 검토하고 개별 사례의 오류 파생물을 합산하고 해당 방향으로 작은 단계를 수행하는 것이 포함됩니다. 그러나 이 접근 방식은 특히 초기 가중치가 좋지 않은 경우 계산 비용이 많이 들 수 있습니다. 미니 배치 학습은 가중치를 업데이트하기 위해 작은 훈련 사례 샘플을 무작위로 선택하여 절충안을 제공합니다. 이것은 지그재그를 줄이면서 여전히 계산적으로 효율적이므로 대규모 데이터 세트에서 대규모 신경망을 교육하는 데 일반적으로 사용됩니다.

가중치 업데이트의 크기를 결정하는 것은 또 다른 최적화 문제입니다. 고정 학습률을 수동으로 선택하는 대신 학습률을 조정하는 것이 더 합리적인 경우가 많습니다. 예를 들어, 오류가 진동하면 학습률을 줄일 수 있고, 꾸준히 진행하면 학습률을 높일 수 있습니다. 일부 가중치가 다른 가중치보다 더 빠르게 학습할 수 있도록 네트워크의 서로 다른 연결에 서로 다른 학습 속도를 할당하는 것도 가능합니다. 또한 가장 가파른 내리막 방향을 엄격하게 따르기보다는 더 나은 수렴으로 이어지는 대체 방향을 탐색하는 것이 도움이 될 수 있습니다. 그러나 이러한 대체 방향을 찾는 것은 어려울 수 있습니다.

두 번째 문제는 학습된 가중치가 보이지 않는 사례에 얼마나 잘 일반화되는지와 관련이 있습니다. 교육 데이터에는 규칙성에 대한 정보와 두 가지 유형의 노이즈가 모두 포함되어 있습니다. 첫 번째 유형은 일반적으로 사소한 문제인 신뢰할 수 없는 대상 값입니다. 두 번째 유형은 선택한 특정 교육 사례로 인해 우발적인 규칙성이 발생할 수 있는 샘플링 오류입니다. 모델은 우발적인 규칙성과 잘 일반화되는 진정한 규칙성을 구별할 수 없습니다. 따라서 모델은 두 가지 규칙 유형에 모두 맞는 경향이 있으므로 모델이 너무 복잡하면 일반화가 제대로 이루어지지 않습니다.

과적합을 해결하기 위해 신경망 및 기타 모델에 대한 다양한 기술이 개발되었습니다. 이러한 기술에는 모델을 단순화하기 위해 가중치를 작게 유지하거나 0으로 유지하는 가중치 감쇠와 복잡성을 줄이기 위해 많은 가중치가 동일한 값을 갖는 가중치 공유가 포함됩니다. 조기 중지에는 훈련 중에 가짜 테스트 세트를 모니터링하고 가짜 테스트 세트의 성능이 저하되기 시작하면 중지하는 것이 포함됩니다. 모델 평균화는 오류를 줄이기 위해 여러 신경망을 훈련하고 예측을 평균화하는 것을 수반합니다. 신경망의 베이지안 피팅은 베이지안 원칙을 통합한 모델 평균화의 한 형태입니다. 드롭아웃은 학습 중에 히든 유닛을 무작위로 생략하여 모델 견고성을 향상시키는 기술입니다. 고급 접근 방식인 Generative pre-training에 대해서는 이 과정의 뒷부분에서 설명합니다.

다층 네트워크의 모든 가중치에 대한 오차 도함수를 얻는 것은 효율적인 학습에 필수적입니다. 그러나 완전한 학습 절차를 개발하려면 가중치 업데이트 빈도, 과적합 방지, 최적화 기술 및 보이지 않는 사례에 대한 일반화와 같은 다른 요소를 고려하고 해결해야 합니다.

 

강의 4.1 — 다음 단어 예측 학습



강의 4.1 — 다음 단어 예측 학습 [머신 러닝을 위한 신경망]

다가오는 비디오는 기능 표현을 통해 단어의 의미를 학습하기 위해 역전파 알고리즘을 활용하는 데 중점을 둘 것입니다. 이 소개에서는 역전파를 사용하여 관계 정보를 특징 벡터로 변환할 수 있는 방법을 설명하기 위해 1980년대의 간단한 사례부터 시작하겠습니다.

이 사례는 유사한 구조를 가진 두 개의 가계도(하나는 영어와 다른 하나는 이탈리아어)를 포함합니다. 이러한 가계도의 정보를 특정 관계(예: 아들, 딸, 아버지, 어머니)를 사용하여 명제로 표현함으로써 이러한 관계 정보를 학습하는 작업을 일련의 트리플 내에서 규칙성을 찾는 것으로 볼 수 있습니다.

기호 규칙을 검색하는 대신 신경망을 사용하여 처음 두 용어에서 트리플의 세 번째 용어를 예측하여 이 정보를 캡처할 수 있습니다. 네트워크의 아키텍처는 흥미로운 표현을 학습하도록 설계된 여러 계층으로 구성됩니다. 우리는 중립적인 표현을 사용하여 정보를 인코딩하여 모든 사람이 별개의 개체로 취급되도록 합니다.

네트워크는 역전파를 사용하여 점진적으로 가중치를 조정하는 일련의 명제에 대한 훈련을 통해 학습합니다. 학습된 표현을 이해하기 위해 사람 1을 인코딩하는 숨겨진 레이어를 검사할 수 있습니다. 이 계층의 다른 단위는 개인의 국적, 세대 및 가계도의 분기와 같은 기능을 나타냅니다.

이러한 기능은 도메인의 규칙성을 캡처하므로 출력 사람을 예측하는 데 유용합니다. 네트워크는 명시적인 지침 없이 이러한 기능을 자율적으로 검색합니다. 네트워크의 중간 계층은 입력 인물의 특징과 관계 특징을 결합하여 출력 인물의 특징을 예측합니다.

네트워크의 성능은 불완전한 트리플에 대해 테스트하고 얼마나 잘 일반화되는지 관찰하여 평가할 수 있습니다. 제한된 학습 데이터로 24방향 선택에 대해 우수한 정확도를 달성합니다. 더 큰 데이터 세트에서 교육을 받으면 데이터의 더 작은 부분에서 일반화할 수 있습니다.

여기에 제시된 예는 장난감 사례이지만 실제로는 수백만 개의 관계형 사실을 포함하는 데이터베이스에 유사한 기술을 적용할 수 있습니다. 엔터티 및 관계의 특징 벡터 표현을 검색하도록 네트워크를 교육함으로써 데이터베이스를 효과적으로 정리하고 검증할 수 있습니다.

처음 두 항에서 세 번째 항을 예측하는 대신 여러 항을 사용하여 사실의 정확성 확률을 추정할 수도 있습니다. 이 접근법은 교육을 위해 올바른 사실과 잘못된 사실 모두에 대한 예가 필요합니다.

역전파 및 신경망을 사용하여 관계 정보에서 의미 있는 표현을 학습하고 데이터베이스에서 사실의 타당성을 예측하거나 평가할 수 있습니다.

사실의 정확성 확률을 추정하기 위해 신경망을 훈련하려면 다양한 올바른 사실과 잘못된 사실의 신뢰할 수 있는 소스가 포함된 데이터 세트가 필요합니다. 네트워크에 올바른 예를 제시하고 높은 출력을 장려하고 잘못된 예에 노출하고 낮은 출력을 장려함으로써 그럴듯한 사실과 믿기지 않는 사실을 구별하는 방법을 학습할 수 있습니다.

이 접근 방식은 데이터베이스 정리를 위한 강력한 도구를 제공합니다. 네트워크는 잠재적으로 부정확하거나 의심스러운 사실을 표시할 수 있으므로 추가 조사 및 확인이 가능합니다. 예를 들어, 데이터베이스에 바흐가 1902년에 태어났다고 명시되어 있는 경우 네트워크는 학습한 관계 및 기타 관련 사실을 기반으로 이를 매우 타당하지 않은 것으로 식별할 수 있습니다.

컴퓨터 성능의 발전과 수백만 개의 관계형 사실을 포함하는 방대한 데이터베이스의 가용성으로 특징 벡터 표현을 발견하기 위한 신경망의 적용이 더욱 실용적이 되었습니다. 신경망의 기능을 활용하여 복잡한 패턴과 관계를 학습함으로써 귀중한 통찰력을 얻고 학습된 표현을 기반으로 예측을 할 수 있습니다.

여기에서 논의된 예는 역전파 및 신경망의 기능을 보여주기 위해 1980년대에 수행되었다는 점은 주목할 가치가 있습니다. 그 이후로 이 분야는 상당한 발전을 이루었고 연구자들은 자연어 처리, 컴퓨터 비전 및 추천 시스템을 포함한 다양한 도메인에 유사한 기술을 적용했습니다.

결론적으로 역전파 알고리즘과 신경망을 활용하여 관계형 정보에서 특징 표현을 학습하면 복잡한 데이터 세트를 기반으로 예측을 이해하고 수행할 수 있는 강력한 접근 방식을 제공합니다. 정확하고 잘못된 사실의 예에 대해 네트워크를 교육함으로써 우리는 데이터베이스의 품질을 검증하고 개선하여 다양한 애플리케이션에 대해 더 안정적이고 유용하게 만드는 기능을 활용할 수 있습니다.

 

강의 4.2 — 인지 과학에 대한 간략한 전환



강의 4.2 — 인지 과학으로의 간략한 전환[기계 학습을 위한 신경망]

인지 과학에서는 특징 벡터 표현과 개념의 관계 표현 사이의 관계에 대한 오랜 논쟁이 있었습니다. 이 토론은 엔지니어에게 별로 관심이 없으므로 이 토론을 건너뛸 수 있습니다.

특징 이론은 개념이 일련의 의미론적 특징으로 정의된다고 가정합니다. 이는 개념 간의 유사성을 설명하고 기계 학습에 유용합니다. 반면에 구조주의 이론은 개념의 의미가 다른 개념과의 관계에 있다고 주장하며 관계형 그래프 표현을 선호합니다.

1970년대에 Marvin Minsky는 퍼셉트론의 한계를 사용하여 관계형 그래프 표현을 지지하는 주장을 했습니다. 그러나 이론이 실제로 통합될 수 있을 때 이론을 경쟁자로 보기 때문에 논쟁의 양쪽 모두 잘못된 것으로 간주됩니다.

신경망은 시맨틱 기능의 벡터를 사용하여 관계형 그래프를 구현할 수 있습니다. 가계도 학습의 경우 신경망은 명시적인 추론 규칙 없이 정보를 전달합니다. 답은 확률론적 마이크로 기능과 그 상호 작용의 영향으로 인해 네트워크에 직관적으로 분명합니다.

명시적 규칙이 의식적 추론에 사용되는 반면, 우리의 상식과 유추적 추론의 대부분은 의식적인 개입 단계 없이 답을 "그냥 보는 것"과 관련됩니다. 의식적 추론에서도 무한 회귀를 피하기 위해 적용 가능한 규칙을 빠르게 식별하는 방법이 필요합니다.

신경망에서 관계형 그래프를 구현하는 것은 뉴런을 그래프 노드에 할당하고 이진 관계에 연결하는 것만큼 간단하지 않습니다. 서로 다른 유형의 관계 및 삼항 관계는 문제를 야기합니다. 신경망에서 관계형 지식을 구현하는 정확한 방법은 아직 불확실하지만 각 개념을 표현하는 데 여러 뉴런이 관련되어 개념과 뉴런 사이에 다대다 매핑이 존재하는 분산 표현을 형성할 가능성이 있습니다.

분산 표현에서 여러 뉴런이 각 개념을 나타내는 데 사용될 가능성이 높으며 각 뉴런은 여러 개념을 나타내는 데 관여할 수 있습니다. 분산 표현으로 알려진 이 접근 방식을 사용하면 신경망에서 개념 지식을 보다 유연하고 효율적으로 인코딩할 수 있습니다.

그러나 신경망에서 관계 지식을 표현하는 방법에 대한 구체적인 구현 세부 사항은 아직 조사 중입니다. 하나의 뉴런이 관계형 그래프의 노드에 해당하고 연결이 이진 관계를 나타낸다는 가정은 충분하지 않습니다. 관계는 다양한 유형과 특징이 있으며 신경 연결은 힘만 있을 뿐 다양한 관계 유형을 포착하는 능력이 부족합니다.

또한 "A는 B와 C 사이에 있다"와 같은 삼항 관계도 고려해야 합니다. 관계형 지식을 신경망에 통합하기 위한 최적의 접근 방식은 여전히 불확실하며 진행 중인 연구의 목표는 이 문제를 해결하는 것입니다.

그럼에도 불구하고 증거는 분산 표현이 신경망의 개념 표현과 관련되어 있음을 시사합니다. 이 접근 방식은 다양한 개념과 그 관계를 처리할 수 있는 유연성과 역량을 제공하여 인지 과학 분야에서 보다 정교한 인지 모델링 및 이해를 위한 길을 열어줍니다.

 

강의 4.3 — softmax 출력 기능 [머신 러닝을 위한 신경망]



강의 4.3 — softmax 출력 기능 [머신 러닝을 위한 신경망]

이제 softmax 출력 함수에 대한 주제를 살펴보겠습니다. softmax 함수는 신경망의 출력이 1이 되도록 하는 데 사용되는 기술로, 상호 배타적인 대안에 대한 확률 분포를 나타낼 수 있습니다.

특징 벡터가 단어를 나타내기 위해 학습되는 방법에 대해 계속 논의하기 전에 기술적 전환을 살펴보겠습니다. 지금까지 선형 뉴런에 적합한 신경망의 훈련 기준으로 제곱 오차 측정을 사용했습니다. 그러나 제곱 오차 측정에는 한계가 있습니다.

예를 들어 원하는 출력이 1이지만 뉴런의 실제 출력이 0에 매우 가까운 경우 가중치 업데이트를 용이하게 하는 데 사용할 수 있는 기울기가 거의 없습니다. 이는 뉴런 출력의 기울기가 거의 수평이어서 상당한 오차에도 불구하고 가중치 조정이 느리기 때문이다.

또한 상호 배타적인 클래스 레이블에 확률을 할당할 때 출력 합계가 1이 되는 것이 중요합니다. A급과 B급 모두에게 4분의 3의 확률을 부여하는 것과 같은 대답은 말도 안 된다. 따라서 이러한 대안이 상호 배타적이라는 지식을 네트워크에 제공해야 합니다.

이러한 문제를 해결하려면 상호 배타적인 클래스를 적절하게 처리할 수 있는 다른 비용 함수가 필요합니다. softmax 함수를 사용하면 이 목표를 달성할 수 있습니다. softmax 그룹의 출력이 확률 분포를 나타내도록 보장하는 최대 함수의 연속 버전입니다.

소프트맥스 그룹에서 각 유닛은 아래 계층에서 로짓이라고 하는 누적 입력을 받습니다. yi로 표시된 각 단위의 출력은 자체 로짓뿐만 아니라 소프트맥스 그룹의 다른 단위에 의해 누적된 로짓에도 의존합니다. 수학적으로 i번째 뉴런의 출력은 방정식 e^zi를 소프트맥스 그룹의 모든 뉴런에 대해 동일한 양의 합으로 나눈 값을 사용하여 계산됩니다.

이 소프트맥스 방정식은 확률 분포를 나타내는 모든 yi의 합이 1임을 보장합니다. 또한 yi의 값은 0과 1 사이에 있으므로 상호 배타적인 대안을 확률 분포로 표현합니다.

소프트맥스 함수의 미분은 로지스틱 단위와 유사한 단순한 형태를 가지므로 계산이 편리합니다. softmax 그룹에서 개별 뉴런의 입력에 대한 출력의 도함수는 yi 곱하기 (1 - yi)로 제공됩니다.

출력에 softmax 그룹을 사용할 때 적절한 비용 함수를 결정하는 것이 중요합니다. 교차 엔트로피 비용 함수라고도 하는 정답의 음의 로그 확률이 일반적으로 사용됩니다. 이 비용 함수는 정답을 제공하는 로그 확률을 최대화하는 것을 목표로 합니다.

교차 엔트로피 비용 함수를 계산하기 위해 가능한 모든 답을 합산하여 오답에는 0의 값을, 정답에는 1의 값을 할당합니다. 음의 로그 확률을 계산하여 정답과 관련된 비용을 얻습니다.

교차 엔트로피 비용 함수의 한 가지 주요 이점은 목표 값이 1이고 출력이 0에 가까울 때 기울기가 크다는 것입니다. 출력의 작은 변화만으로도 비용 함수의 값이 크게 향상됩니다. 예를 들어, 100만분의 1의 값은 그 차이가 미미하더라도 10억분의 1의 값보다 훨씬 낫습니다.

이 점을 더 자세히 설명하기 위해 답이 100만 분의 1 또는 10억 분의 1이라는 믿음에 따라 베팅을 한다고 상상해 보십시오. 100만 분의 1의 배당률로 베팅하고 틀렸다면 100만 달러를 잃게 될 것입니다. 반대로 답이 10억분의 1이라면 같은 베팅으로 10억 달러를 잃게 됩니다.

교차 엔트로피 비용 함수의 이 속성은 답이 상당히 부정확할 때 급격한 도함수를 보장하여 입력이 변경됨에 따라 출력 변경의 평탄도의 균형을 맞춥니다. 이러한 요인을 함께 곱하면 출력 단위 i로 들어가는 로짓과 관련하여 교차 엔트로피 비용 함수의 미분을 얻습니다. 이 계산에는 체인 규칙이 사용됩니다.

단위 출력에 대한 비용 함수의 도함수에 로짓 zi에 대한 출력의 도함수를 곱하면 실제 출력에서 목표 출력을 뺀 값이 산출됩니다. 이 차이의 기울기는 출력과 목표가 상당히 다른 경우 1 또는 -1이며 거의 동일할 때만 기울기가 0에 가까워 정답이 생성되고 있음을 나타냅니다.

softmax 출력 함수는 신경망의 출력이 상호 배타적인 대안에 대한 확률 분포를 나타내는지 확인하는 데 사용됩니다. softmax 방정식을 사용하면 출력의 합이 1이 되도록 제한되어 서로 다른 클래스에 대한 확률을 나타냅니다.

그러나 신경망 훈련을 위한 비용 함수로 제곱 오차 측정을 사용하면 원하는 출력이 실제 출력과 다를 때 가중치 조정이 느려지는 등의 단점이 있습니다. 이 문제를 해결하기 위해 교차 엔트로피 비용 함수가 도입되었습니다. 정답의 음수 로그 확률을 계산하고 목표 값이 1이고 출력이 0에 가까울 때 더 큰 기울기를 산출합니다. 이 속성은 보다 효율적인 학습을 허용하고 상호 배타적인 대안에 동일한 확률을 할당하는 것을 방지합니다.

교차 엔트로피 비용 함수와 함께 소프트맥스 함수는 신경망을 훈련시켜 확률적 출력을 생성하기 위한 강력한 조합을 제공합니다. 역전파 및 확률적 경사하강법을 통해 가중치와 편향을 조정함으로써 네트워크는 정확한 예측을 수행하고 데이터 간의 복잡한 관계를 나타내는 방법을 학습할 수 있습니다.

이러한 개념과 기술은 신경망 훈련의 기초를 형성하고 자연어 처리, 컴퓨터 비전 및 패턴 인식을 포함한 다양한 영역에 적용할 수 있다는 점에 유의해야 합니다. 이러한 분야의 지속적인 연구와 발전은 실제 문제를 해결하는 신경망의 성능과 기능을 향상시키는 데 기여합니다.

 

강의 4.4 — 신경 확률적 언어 모델



강의 4.4 — 신경 확률적 언어 모델 [기계 학습을 위한 신경망]

이 비디오에서는 특히 음성 인식 시스템에서 단어를 나타내는 특징 벡터의 실제 적용을 살펴봅니다. 다른 사람이 다음에 말할 내용을 잘 이해하는 것은 그들이 내는 소리를 정확하게 인식하는 데 중요합니다.

음성 인식은 특히 음향 입력이 종종 모호하고 여러 단어가 신호에 똑같이 잘 맞을 수 있는 시끄러운 음성에서 음소를 정확하게 식별하는 데 어려움을 겪고 있습니다. 그러나 우리는 정확한 단어를 듣기 위해 발화의 의미에 의존하기 때문에 일반적으로 이러한 모호성을 알아차리지 못합니다. 음성을 인식하는 이 무의식적인 프로세스는 음성 인식기가 다음 단어를 예측할 필요성을 강조합니다.

다행히 음성 내용을 완전히 이해하지 않고도 단어를 효과적으로 예측할 수 있습니다. trigram 방법은 뒤따를 수 있는 다른 단어의 확률을 예측하기 위한 표준 접근 방식입니다. 그것은 큰 텍스트 코퍼스에서 단어 삼중의 빈도를 세고 이 빈도를 사용하여 이전 두 단어가 주어졌을 때 다음 단어의 상대적 확률을 추정하는 것을 포함합니다.

trigram 방법은 앞의 두 단어를 기반으로 확률을 제공하므로 최근까지 최첨단 접근 방식이었습니다. 더 큰 컨텍스트를 사용하면 가능성이 폭발적으로 증가하고 대부분 카운트가 0이 됩니다. "공룡 피자"와 같이 컨텍스트가 보이지 않는 경우 모델은 개별 단어 예측에 의존합니다. 예가 이전에 발생하지 않았기 때문에 0 확률을 할당하지 않는 것이 중요합니다.

그러나 trigram 모델은 다음 단어를 예측하는 데 도움이 될 수 있는 귀중한 정보를 간과합니다. 예를 들어 "cat"과 "dog" 또는 "squashed"와 "flattened"와 같은 단어 간의 유사점을 이해하면 예측 정확도를 높일 수 있습니다. 이 한계를 극복하려면 단어를 의미론적 및 구문론적 특징을 캡처하는 특징 벡터로 변환해야 합니다. 이전 단어의 특징을 이용하여 더 큰 문맥(예: 이전 단어 10개)을 예측에 활용할 수 있습니다.

Joshua Bengio는 신경망을 사용하여 이 접근 방식을 개척했으며 그의 초기 모델은 가계도 네트워크와 유사하지만 더 복잡한 언어 모델링에 적용되었습니다. 단어의 색인을 입력하고 숨겨진 레이어를 통해 활동을 전파함으로써 네트워크는 단어의 분산 표현을 특징 벡터로 학습할 수 있습니다. 이러한 벡터는 softmax 출력 레이어를 사용하여 다양한 단어의 확률을 예측하는 데 사용됩니다.

추가 개선 사항은 입력 단어를 출력 단어에 직접 연결하는 스킵 레이어 연결을 사용하는 것입니다. 개별 입력 단어에는 잠재적인 출력 단어에 대한 중요한 정보가 포함되어 있습니다. Bengio의 모델은 처음에 트라이그램보다 약간 더 나빴지만 트라이그램과 결합했을 때 가능성을 보여주었습니다.

Bengio의 작업 이후로 단어에 대한 특징 벡터를 사용하는 언어 모델은 트라이그램 모델을 훨씬 능가하고 개선되었습니다. 그러나 softmax 출력 레이어가 상당한 수의 가중치(예: 수십만)를 필요로 할 수 있으므로 많은 수의 출력 단어를 처리할 때 문제가 발생합니다. 마지막 숨겨진 레이어가 너무 크면 오버피팅이 발생할 수 있지만 크기를 줄이면 방대한 확률을 정확하게 예측할 수 있습니다.

다음 비디오에서는 큰 확률과 작은 확률 모두 음성 인식 시스템과 관련이 있다는 점을 고려하여 많은 수의 출력 단어를 처리하기 위한 대안적인 접근 방식을 살펴보겠습니다.

 

강의 4.5 — 가능한 많은 출력 다루기



강의 4.5 — 가능한 많은 출력 다루기 [머신 러닝을 위한 신경망]

이 비디오에서는 대규모 어휘를 처리할 때 softmax에서 과도한 수의 출력 단위가 필요하지 않도록 하는 다양한 접근 방식을 살펴봅니다. 단어 확률을 얻기 위해 수십만 개의 출력 단위를 사용하는 대신 대체 아키텍처를 사용할 수 있습니다.

한 가지 접근 방식은 컨텍스트 단어와 후보 단어를 입력하는 직렬 아키텍처입니다. 네트워크를 순회함으로써 해당 컨텍스트에서 후보 단어의 적합성을 나타내는 점수를 생성합니다. 이 접근 방식은 네트워크를 여러 번 실행해야 하지만 대부분의 계산은 한 번만 수행하면 됩니다. 다른 후보 단어에 대해 컨텍스트의 동일한 입력을 재사용할 수 있으며 다시 계산해야 하는 유일한 부분은 후보 단어의 특정 입력과 최종 점수 출력입니다.

이 직렬 아키텍처에서 학습하기 위해 각 후보 단어에 대한 점수를 계산하고 소프트맥스 함수를 적용하여 단어 확률을 얻습니다. 단어 확률을 대상 확률(보통 올바른 단어의 경우 1, 다른 단어의 경우 0)과 비교하여 교차 엔트로피 영역 도함수를 도출할 수 있습니다. 이러한 파생물은 가중치 조정을 안내하여 올바른 후보 단어의 점수를 높이고 순위가 높은 라이벌의 점수를 낮춥니다. 효율성을 최적화하기 위해 가능한 모든 후보를 평가하는 대신 다른 예측자가 제안한 더 작은 후보 단어 집합을 고려할 수 있습니다.

큰 소프트맥스를 피하는 또 다른 방법은 단어를 이진 트리 구조로 구성하는 것입니다. 여기에는 모든 단어를 트리의 리프로 정렬하고 이전 단어의 컨텍스트를 사용하여 예측 벡터를 생성하는 작업이 포함됩니다. 이 벡터를 트리의 각 노드에 대해 학습된 벡터와 비교하여 오른쪽 또는 왼쪽 분기를 선택할 확률을 결정할 수 있습니다. 재귀적으로 트리를 순회함으로써 목표 단어에 도달할 수 있습니다. 학습하는 동안 올바른 경로를 따라 있는 노드만 고려하면 되므로 계산 부하가 크게 줄어듭니다.

단어 특징 벡터 학습을 위한 다른 접근 방식은 과거와 미래의 맥락을 활용하는 것입니다. 단어 창을 사용하여 올바른 단어 또는 임의의 단어를 창 중앙에 배치합니다. 올바른 단어에 대해 높은 점수를 출력하고 무작위 단어에 대해 낮은 점수를 출력하도록 신경망을 훈련함으로써 의미론적 차이를 포착하는 특징 벡터를 학습할 수 있습니다. 이러한 특징 벡터는 다양한 자연어 처리 작업에 유용합니다.

학습된 특징 벡터를 시각화하기 위해 t-SNE와 같은 기술을 사용하여 2차원 맵에 표시할 수 있습니다. 이 시각화는 유사한 단어와 클러스터를 식별하는 데 도움이 되며 단어 의미에 대한 신경망의 이해에 대한 통찰력을 제공합니다. 학습된 벡터는 의미론적 관계와 구별을 드러낼 수 있으며, 단어 의미를 결정할 때 문맥 정보의 힘을 보여줍니다.

다음은 학습된 특징 벡터의 2차원 맵 표현의 또 다른 예입니다. 맵의 이 섹션에서 게임과 관련된 단어 클러스터를 관찰할 수 있습니다. 성냥, 게임, 경주, 선수, 팀, 동호회 등의 단어가 함께 그룹화되어 의미의 유사성을 나타냅니다. 또한 상품, 컵, 그릇, 메달 및 기타 보상을 포함하여 게임의 관련 요소를 식별합니다. 이러한 의미론적 관계를 포착하는 신경망의 능력을 통해 한 단어가 특정 컨텍스트에 적합하면 동일한 클러스터 내의 다른 단어도 적합할 가능성이 높다고 추론할 수 있습니다.

지도의 다른 부분으로 이동하면 장소 전용 클러스터를 만납니다. 맨 위에는 다양한 미국 주가 있고, 그 다음에는 주로 북미에 위치한 도시가 있습니다. 또한 지도에는 다른 도시와 국가가 표시되어 신경망이 지리적 관계를 이해하고 있음을 보여줍니다. 예를 들어 캠브리지를 영어권 캐나다에 속한 토론토, 디트로이트, 온타리오와 연결하고 퀘벡을 베를린 및 파리와 그룹화하여 프랑스어권 캐나다와 연결합니다. 마찬가지로 이라크와 베트남의 유사성을 암시합니다.

지도에서 다른 예를 살펴보겠습니다. 이 섹션에서는 부사에 초점을 맞추며 유사한 의미를 공유하는 유사, 아마도, 아마도 및 아마도와 같은 단어를 보여줍니다. 마찬가지로, 전체, 전체, 전체 및 크게 사이의 의미적 유사성을 식별합니다. 또한 무엇과 저것, 누구와 무엇, 어떻게, 여부, 왜와 같은 다른 유사성 패턴을 인식합니다.

이러한 학습된 특징 벡터의 매력적인 측면은 명확한 지침 없이 Wikipedia의 단어 시퀀스를 분석하여 미묘한 의미론적 뉘앙스를 캡처한다는 것입니다. 이 문맥 정보는 단어의 의미를 이해하는 데 중요한 역할을 합니다. 사실, 일부 이론은 그것이 우리가 단어 의미론을 습득하는 주요 메커니즘 중 하나라고 제안합니다.

결론적으로, 큰 어휘를 처리하고 단어 표현을 학습하는 이러한 다양한 접근 방식은 기존의 softmax 아키텍처에 대한 효율적인 대안을 제공합니다. 직렬 아키텍처, 트리 구조 또는 컨텍스트 정보를 활용하여 신경망은 의미 있고 유사한 단어 표현을 생성할 수 있습니다. 이러한 표현은 다양한 자연어 처리 작업에서 가치가 있음을 입증하여 단어 간의 의미론적 관계와 구별을 캡처하는 네트워크의 기능을 보여줍니다.

 

강의 5.1 — 객체 인식이 어려운 이유



강의 5.1 — 객체 인식이 어려운 이유 [머신 러닝을 위한 신경망]

실제 장면에서 물체를 인식하는 것은 이 작업에 대한 타고난 능숙함으로 인해 종종 간과되는 몇 가지 문제를 제기합니다. 픽셀 강도를 개체 레이블로 변환하는 것은 다양한 어려움을 수반하는 복잡한 프로세스입니다. 한 가지 주요 장애물은 실제 세계에서 사용할 수 있는 모션 및 스테레오 큐가 부족하기 때문에 물체를 주변 환경과 구분하는 것입니다. 이러한 부재로 인해 동일한 개체에 속하는 부품을 확인하기가 어렵습니다. 또한 개체가 다른 개체에 의해 부분적으로 숨겨질 수 있으므로 인식 프로세스가 더욱 복잡해집니다. 흥미롭게도 우리의 뛰어난 시각 능력은 종종 이러한 문제를 가립니다.

객체 인식의 또 다른 중요한 문제는 조명이 픽셀 강도에 미치는 영향에서 비롯됩니다. 픽셀의 강도는 물체 자체뿐만 아니라 조명 조건에 따라 달라집니다. 예를 들어 밝은 조명 아래의 검은색 표면은 희미한 조명의 흰색 표면에 비해 더 강렬한 픽셀을 생성합니다. 객체를 인식하려면 이러한 다양한 픽셀 강도를 클래스 레이블로 변환해야 하지만 이러한 변형은 객체의 특성이나 정체성과 관련 없는 요인으로 인해 발생할 수 있습니다.

객체는 또한 변형을 겪을 수 있으며, 이는 인식의 복잡성을 더합니다. 손으로 쓴 숫자와 같이 상대적으로 단순한 개체의 경우에도 동일한 이름과 관련된 다양한 모양이 있습니다. 예를 들어, 숫자 "2"는 첨단으로 기울임꼴로 나타나거나 더 큰 루프와 더 둥근 형태를 가질 수 있습니다. 또한 객체의 클래스는 시각적인 모양보다는 기능으로 정의되는 경우가 많습니다. 안락의자에서 나무 등받이가 있는 현대적인 강철 프레임 디자인에 이르기까지 수많은 변형이 존재하는 의자를 생각해 보십시오. 시각적 특성만으로는 등급을 결정하기에 충분하지 않을 수 있습니다.

관점의 변화는 물체 인식의 어려움을 더욱 복잡하게 만듭니다. 여러 관점에서 3차원 물체를 인식하는 능력은 기존의 기계 학습 방법이 처리하기 힘든 이미지 변화를 만듭니다. 우리의 시선이 고정된 상태에서 물체가 움직일 때 물체에 대한 정보가 다른 픽셀로 이동할 수 있습니다. 일반적으로 시각적 작업의 픽셀에 해당하는 입력 차원 간의 이러한 정보 전송은 기계 학습에서 일반적으로 발생하지 않습니다. 종종 "차원 호핑"이라고 하는 이 문제를 해결하는 것은 인식 정확도를 개선하는 데 중요합니다. 이 문제를 해결하기 위한 체계적인 접근이 매우 바람직합니다.

요약하면 실제 장면에서 물체를 인식하는 데는 수많은 문제가 수반됩니다. 이러한 어려움을 극복하려면 세분화, 조명 변화, 폐색, 변형, 관점 변화 및 객체의 의미론적 정의와 관련된 문제를 해결해야 합니다. 이러한 요인을 설명하는 강력하고 체계적인 방법을 개발하면 물체 인식 시스템의 정확도와 신뢰성이 향상됩니다.

 

강의 5.2 — 관점 불변성 달성



강의 5.2 — 관점 불변성 달성 [기계 학습을 위한 신경망]

이 비디오에서는 관점 불변성의 개념을 탐구하고 객체 인식에서 이 문제를 해결하기 위한 다양한 접근 방식을 탐색합니다. 시점 변화는 우리가 물체를 볼 때마다 다른 픽셀에 나타나기 때문에 물체 인식을 대부분의 기계 학습 작업과 구분하기 때문에 상당한 장애물이 됩니다. 이 작업에 대한 우리의 타고난 적성에도 불구하고 우리는 아직 공학이나 심리학에서 널리 받아들여지는 해결책을 찾지 못했습니다.

첫 번째 접근 방식은 중복 불변 기능을 사용하는 것을 제안합니다. 이러한 기능은 변환, 회전 및 배율 조정과 같은 변환을 견딜 수 있어야 합니다. 예를 들어, 새끼 청어 갈매기가 음식을 쪼아야 할 곳을 식별하기 위해 사용하는 불변 기능으로 그 사이에 빨간 점이 있는 한 쌍의 거의 평행한 선이 제안되었습니다. 많은 불변 기능 집합을 사용하여 기능 간의 관계를 명시적으로 나타내지 않고도 개체 또는 이미지로 고유하게 조합할 수 있습니다.

그러나 인식 작업을 처리할 때 문제가 발생합니다. 여러 개체에서 특징을 추출하면 다른 개체의 부분으로 구성된 특징이 생성되어 인식을 위한 잘못된 정보로 이어질 수 있습니다. 따라서 서로 다른 물체의 부분에서 형상을 형성하지 않는 것이 중요합니다.

"신중한 정규화"라고 하는 또 다른 접근 방식은 개체 주위에 상자를 배치하는 것입니다. 이 상자 내에서 참조 프레임을 정의함으로써 개체의 기능을 상대적으로 설명하여 불변성을 달성할 수 있습니다. 개체가 단단한 모양이라고 가정하면 이 접근 방식은 관점 변경의 영향을 효과적으로 제거하여 차원 호핑 문제를 완화합니다. 상자가 반드시 직사각형일 필요는 없습니다. 변환, 회전, 배율 조정, 전단 및 늘이기를 설명할 수 있습니다. 그러나 적절한 상자를 선택하면 잠재적인 분할 오류, 폐색 및 비정상적인 방향으로 인해 문제가 발생합니다. 올바른 상자를 결정하는 것은 물체의 모양에 대한 우리의 지식에 의존하므로 닭이 먼저냐 달걀이 먼저냐의 문제가 발생합니다. 올바른 상자를 얻으려면 모양을 인식해야 하지만 모양을 인식하려면 올바른 상자가 필요합니다.

무차별 대입 정규화 접근 방식에는 훈련 중에 잘 분할된 직립 이미지를 사용하여 객체 주변의 상자를 신중하게 정의하는 것이 포함됩니다. 테스트하는 동안 어수선한 이미지를 처리할 때 다양한 위치와 축척에서 가능한 모든 상자를 탐색합니다. 이 접근 방식은 분할되지 않은 이미지에서 얼굴이나 집 번호를 감지하는 것과 같은 작업을 위해 컴퓨터 비전에서 일반적으로 사용됩니다. 그러나 인식기가 위치와 크기의 약간의 변화를 처리할 수 있을 때 더 효율적이며, 다른 상자를 시도하기 위해 성긴 격자를 사용할 수 있습니다.

관점 불변성은 객체 인식에서 중요한 문제입니다. 불변 기능 사용, 경계 상자를 사용한 신중한 정규화, 무차별 대입 정규화와 같은 접근 방식은 관점 변화의 영향을 완화하는 데 도움이 됩니다. 그러나 적절한 기능을 선택하고 올바른 상자를 결정하고 다양한 위치와 크기를 처리하는 것은 컴퓨터 비전 분야에서 진행 중인 연구 노력으로 남아 있습니다.

 

강의 5.3 — 숫자 인식을 위한 컨벌루션 네트워크



강의 5.3 — 숫자 인식을 위한 컨볼루션 네트워크 [머신 러닝을 위한 신경망]

이 비디오에서는 합성곱 신경망(CNN)과 손글씨 숫자 인식에서의 응용에 대해 설명합니다. CNN은 1980년대에 큰 성공을 거두었으며, 특히 Yan LeCun의 심층 컨볼루션 네트워크는 손글씨 인식에 탁월하고 실제로 구현되었습니다. 이러한 네트워크는 사용 가능한 컴퓨터에서 훈련되고 예외적으로 잘 수행될 수 있는 그 시대의 몇 안 되는 심층 신경망 중 하나였습니다.

CNN은 복제된 기능의 개념을 기반으로 합니다. 개체는 이미지 내에서 다른 위치에 나타날 수 있으므로 한 위치에서 유용한 특징 탐지기는 다른 위치에서 유용할 가능성이 높습니다. 이 아이디어를 활용하기 위해 동일한 특징 탐지기의 여러 복사본이 이미지의 다른 위치에 생성됩니다. 이러한 복제된 특징 감지기는 가중치를 공유하므로 학습해야 하는 매개변수의 수가 크게 줄어듭니다. 예를 들어, 27픽셀이 있는 3개의 복제된 감지기에는 9개의 서로 다른 가중치만 필요합니다.

CNN에서는 각각 복제된 기능으로 구성된 여러 기능 맵이 사용됩니다. 이러한 복제된 기능은 다양한 위치에서 동일하도록 제한되는 반면, 다른 맵은 다른 기능을 감지하는 방법을 학습합니다. 이 접근 방식을 통해 다양한 유형의 기능이 각 이미지 패치를 나타낼 수 있으므로 인식 기능이 향상됩니다. 복제된 기능은 이 알고리즘을 사용하여 교육하기 쉽기 때문에 역전파와 잘 일치합니다. 역전파는 가중치 사이에 선형 제약 조건을 통합하도록 수정되어 복제된 특징 검출기가 효과적으로 학습되도록 할 수 있습니다.

복제된 특징 탐지기의 성과와 관련하여 종종 혼란이 있습니다. 일부는 변환 불변성을 달성한다고 주장하지만 이는 완전히 정확하지 않습니다. 복제된 기능은 뉴런의 활동에서 불변성이 아닌 동등성을 달성합니다. 예를 들어, 이미지가 변환되면 활성화된 뉴런도 그에 따라 이동합니다. 그러나 복제된 기능에 의해 캡처된 지식은 변하지 않습니다. 특징이 한 위치에서 감지된 것으로 알려진 경우 다른 위치에서 감지될 수 있습니다. 변환 불변성을 도입하기 위해 복제된 특징 검출기의 출력을 평균화하거나 인접 검출기의 최대값을 취하여 풀링할 수 있습니다. 그러나 이 풀링 프로세스를 통해 정확한 공간 정보가 손실되어 정확한 공간 관계에 의존하는 작업에 영향을 미칠 수 있습니다.

Jan Lecun과 그의 협력자들은 손글씨 숫자 인식에서 CNN의 힘을 시연하여 LeNet-5 아키텍처로 인상적인 결과를 달성했습니다. LeNet-5는 레이어 간 풀링과 함께 여러 숨겨진 레이어와 기능 맵으로 구성되었습니다. 겹치는 문자를 처리할 수 있으며 입력 전에 분할할 필요가 없습니다. 교육 방법론은 전체 시스템 접근 방식을 사용하여 입력 픽셀의 출력으로 우편 번호를 생성했습니다. 교육은 정식 도입 이전부터 최대 마진과 유사한 방식으로 진행됐다. LeNet-5는 북미 전역의 읽기 검사에서 매우 유용함을 입증했습니다.

기계 학습, 특히 신경망에 사전 지식을 주입하는 것은 네트워크 설계, 로컬 연결, 가중치 제약 또는 적절한 신경 활동을 통해 수행할 수 있습니다. 이 접근 방식은 네트워크를 특정 문제 해결 접근 방식으로 편향시킵니다. 또 다른 방법은 사전 지식을 기반으로 합성 훈련 데이터를 생성하여 학습할 더 많은 예제를 네트워크에 제공하는 것입니다. 컴퓨터가 더 빨라짐에 따라 후자의 접근 방식이 점점 더 유용해지고 있습니다. 이를 통해 최적화는 다중 계층 네트워크를 활용하는 효과적인 방법을 발견할 수 있으며 잠재적으로 기본 메커니즘을 완전히 이해하지 않고도 우수한 솔루션을 얻을 수 있습니다.

합성 데이터를 사용하여 손으로 쓴 숫자 인식에서 몇 가지 발전이 이루어졌습니다. 합성 데이터 생성, 그래픽 처리 장치(GPU)에서 대규모 네트워크 교육, 합의 모델 생성과 같은 트릭을 결합하여 상당한 개선이 이루어졌습니다. 예를 들어, 스위스의 Jurgen Schmidhuber가 이끄는 그룹은 오류율을 약 25개 오류로 줄였으며, 이는 아마도 사람의 오류율에 근접할 것입니다. 다양한 모델의 성능을 평가하려면 수치 메트릭에만 의존하기보다는 모델이 만드는 오류를 고려해야 합니다. McNemar 테스트와 같은 통계 테스트는 특정 오류를 분석하여 더 많은 민감도를 제공하므로 모델 우월성을 더 잘 평가할 수 있습니다.

따라서 오류율을 기준으로 모델을 비교할 때 모델이 만드는 특정 오류를 고려하고 McNemar 테스트와 같은 통계 테스트를 수행하여 차이가 통계적으로 유의한지 확인하는 것이 중요합니다. 단순히 전체 오류율을 보는 것만으로는 자신 있는 판단을 내리기에 충분한 정보를 제공하지 못할 수 있습니다.

스위스의 Jurgen Schmidhuber 그룹이 수행한 작업은 합성 데이터를 통해 지식을 주입하는 효과를 보여주었습니다. 실제 훈련 사례를 변형하여 추가 훈련 사례를 생성함으로써 유익한 합성 데이터를 생성하는 데 상당한 노력을 기울였습니다. 계층당 많은 단위와 그래픽 처리 장치(GPU)에 많은 계층이 있는 대규모 네트워크를 훈련함으로써 계산 능력을 활용하고 과적합을 방지할 수 있었습니다.

그들의 접근 방식은 합성 데이터 생성, GPU에서 대규모 네트워크 훈련, 최종 예측을 결정하기 위한 여러 모델과의 합의 방법 사용이라는 세 가지 주요 기술을 결합했습니다. 이러한 접근 방식을 통해 그들은 오류율을 사람의 오류율에 필적하는 약 25개의 오류로 줄이는 인상적인 결과를 얻었습니다.

오류율이 다른 모델을 비교할 때 흥미로운 질문이 생깁니다. 오류가 30개 있는 모델이 오류가 40개 있는 모델보다 훨씬 나은지 어떻게 결정합니까? 놀랍게도 각 모델의 특정 오류에 따라 다릅니다. 단순히 숫자만 보는 것으로는 충분하지 않습니다. 특정 오류에 초점을 맞춘 통계 테스트인 McNemar 테스트는 모델 비교에 더 큰 민감도를 제공합니다.

예를 들어, 2x2 테이블을 고려하면 한 모델은 맞고 다른 모델은 틀린 경우를 조사할 수 있습니다. 이러한 경우의 비율을 분석하여 모델 간 차이점의 중요성을 확인할 수 있습니다. 경우에 따라 모델의 오류율은 낮지만 다른 모델이 성공하는 특정 인스턴스에서 성능이 나빠 비교의 중요성이 낮아질 수 있습니다.

따라서 모델을 평가하고 비교할 때 오류율과 특정 오류를 모두 고려하는 것이 중요합니다. McNemar 테스트와 같은 통계 테스트는 모델 간의 성능 차이에 대한 보다 정확한 통찰력을 제공할 수 있습니다. 이를 통해 모델 선택 및 개선에 대해 정보에 입각한 결정을 내릴 수 있습니다.

오류율 및 특정 오류를 고려하는 것 외에도 모델을 평가하고 비교할 때 고려해야 할 다른 요소가 있습니다.

  1. 데이터 품질 및 수량: 훈련 데이터의 품질 및 수량은 모델 성능에 상당한 영향을 미칠 수 있습니다. 크고 다양하며 대표적인 데이터 세트에서 훈련된 모델이 더 잘 일반화되는 경향이 있습니다. 학습 및 평가에 사용되는 데이터가 모델이 직면하게 될 실제 시나리오를 정확하게 반영하는지 확인하는 것이 중요합니다.

  2. 컴퓨팅 리소스: 모델을 교육하고 배포하는 데 필요한 컴퓨팅 리소스는 필수 고려 사항입니다. 일부 모델에는 고성능 GPU 또는 특수 하드웨어와 같이 실용성과 확장성에 영향을 미칠 수 있는 광범위한 계산 능력이 필요할 수 있습니다.

  3. 해석 가능성: 애플리케이션에 따라 모델 예측의 해석 가능성이 중요할 수 있습니다. 심층 신경망과 같은 일부 모델은 블랙 박스로 간주되는 경우가 많기 때문에 결정 이면의 추론을 이해하기 어렵습니다. 반대로 의사 결정 트리 또는 선형 모델과 같은 다른 모델은 더 많은 해석 가능성을 제공합니다. 모델 선택은 문제 및 이해 관계자의 요구 사항과 일치해야 합니다.

  4. 견고성 및 일반화: 모델의 성능은 훈련 데이터뿐만 아니라 일반화 기능을 평가하기 위해 보이지 않는 데이터에서도 평가되어야 합니다. 강력한 모델은 다양한 데이터 샘플에서 잘 작동하고 노이즈, 이상값 및 적대적 공격에 대한 내성이 있어야 합니다.

  5. 확장성 및 효율성: 애플리케이션의 요구 사항에 따라 모델 확장성 및 효율성이 중요한 고려 사항입니다. 특정 시나리오에서는 많은 양의 데이터를 효율적으로 처리하거나 실시간 예측을 수행할 수 있는 모델이 선호될 수 있습니다.

  6. 윤리적 고려 사항: 모델을 선택하고 배포할 때 윤리적 영향을 고려하는 것이 필수적입니다. AI 시스템의 책임 있고 공평한 사용을 보장하기 위해 데이터 또는 모델의 예측, 공정성, 개인 정보 보호 및 보안 문제의 편향을 고려해야 합니다.

  7. 사용자 피드백 및 도메인 전문 지식: 최종 사용자 및 도메인 전문가로부터 피드백을 수집하면 모델의 성능 및 적합성에 대한 귀중한 통찰력을 얻을 수 있습니다. 이들의 의견은 개선이 필요한 특정 영역을 식별하거나 자동화된 평가 메트릭으로 포착할 수 없는 한계를 발견하는 데 도움이 될 수 있습니다.

오류율 및 특정 오류와 함께 이러한 요소를 고려함으로써 모델을 평가하고 비교할 때 보다 포괄적이고 정보에 입각한 결정을 내릴 수 있습니다.