본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2024-1] 박지연 - Deep learning : Yann LeCun1,2, Yoshua Bengio3 & Geoffrey Hinton4,5 / 2015

by yeonliyou 2024. 3. 19.

https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf

Abstract

  • Deep learning
    • multiple processing layers로 구성된 계산 모델이 여러 수준의 추상화를 통해 데이터의 표현을 학습할 수 있도록 함 → 다양한 영역의 기술 수준을 향상 시킴
    • backpropagation algorithm(역전파 알고리즘)
    • → 딥러닝이 사용하는 알고리즘으로 기계가 이전 계층의 표현에서 각 계층의 표현을 계산하는 데 사용되는 내부 매개 변수를 어떻게 변경하는지를 나타낸다
    • convolutional nets vs recurrent nets알고리즘 CNN RNN 
      주요 특징 이미지 데이터에 특화된 패턴 인식 순차적인 데이터(시계열 데이터)에서 시간적 의존성 모델링
      적용분야 컴퓨터 비전, 이미지 처리 자연어 처리, 음성 인식
  • Machine learning(전통적인 머신러닝은 날 것의 형태의 원시 데이터를 처리하는 능력에 제한이 있었음. 엔지니어링+도메인 전문 지식이 필요했음)→ Deep learning

  • representation learning
  • : 기계에 원시 데이터를 입력하고 감지 또는 분류에 필요한 표현을 자동으로 발견할 수 있도록 하는 방법 세트
  • Deep learning methods[ 분류 작업 ] 에서: 예를 들어 한 이미지는 pixel 값들의 배열 형태로 오고, first layer of representation 에서 학습된 feature들은 전형적으로 이미지에서의 특정한 방향과 위치의 edge의 존재나 부재를 나타낸다.third layer은 익숙한 객체의 부분들과 들어맞는 더 큰 조합으로 motifs를 조립하고, 그 다음의 layer들은 앞서 언급한 부분들의 조합으로 객체들을 감지한다.
  • 핵심 포인트는 이러한 feature들의 layer들을 사람이 디자인하는 게 아니라는 것.
  • second layer은 전형적으로 edge 포지션의 작은 변동에 상관없이 edge의 특정한 배열을 발견함으로써 motifs(기조)를 감지한다.
  • → higher layers of representation은 구별에 중요한 input의 측면은 증폭시키고 관계없는 변동은 억제시킨다.
  • : representation learning 방법으로 여러 수준의 표현을 가지고 있다. 이 표현들은 간단하지만 비선형적인 모듈(원시input으로 시작한 한 수준의 표현을 더 추상적이고 높은 수준에서의 표현으로 변환하는)을 구성함으로써 얻어진 표현들이다. 이러한 변환들을 충분히 구성하면 매우 복잡한 기능이 학습된다.

Supervised learning(지도 학습)

  • 가장 흔한 머신러닝 형태
  • 분류 학습에서 기계는 이미지를 보고 각 범주에 대해 점수 벡터로 출력을 생성할 것이다. 우리가 원하는 점수와 출력된 점수 사이의 오차를 계산하는 objective function을 계산할 것이고, 기계는 이 오차를 줄이기 위해 내부의 조정 가능한 매개 변수(가중치라고도 하며 기계의 입출력 기능을 정의하는 ‘knobs’로 볼 수 있는 실수)를 수정한다.
    • objective function실무에서는 **stochastic gradient descent (SGD)**라는 절차를 많이 사용. 이는 몇 가지 예에 대한 입력 벡터를 보여주고, 출력과 오류를 계산하고, 해당 예에 대한 평균 기울기를 계산하고, 그에 따라 가중치를 조정하는 것으로 구성된다. 이 프로세스는 훈련 세트에서 목적 함수의 평균이 감소하는 것을 멈출 때까지 많은 작은 예 집합에 대해 반복된다. 훈련 후에 기계의 일반화 능력을 테스트한다.
    • → 모든 훈련 예제에서 평균을 낸 것으로 가중치 값의 고차원 공간에서 일종의 구릉 지형으로 볼 수 있다. 음의 기울기 벡터는 이 지형에서 가장 가파른 하강 방향을 나타내며, 출력 오차가 평균적으로 낮은 최소값에 가까워진다.
  • 다층 신경망과(Multilayer neural networks)다층 신경망(연결된 점으로 보여지는)은 입력 공간을 왜곡하여 데이터 클래스( 빨간색과 파란색 선)를 선형으로 분리한다.

  • 2015년(발행연도) 기준, 기계 학습의 많은 실제 응용 프로그램은 수작업으로 만든 특징 위에 선형 분류기를 사용했다. two-class linear classifier은 특징 벡터 구성 요소의 가중합을 계산 → 합이 임계값을 초과하면 입력은 특정 범주에 속하는 것으로 분류
  • 1960년대부터 linear classifier는 입력 공간을 매우 간단한 영역, 즉 초평면(19)으로 구분되는 반 공간으로만 분할할 수 있었다 → but 이미지 및 음성 인식과 같은 문제는 입출력 함수가 특정한 미세한 변화(흰 늑대, 늑대 같은 흰개 구분)에 민감하면서도 그 외의 구별에 상관없는 변화(물체방향, 조명변화 등)에는 둔감해야 한다. linear classifier은 이에 취약할 수 있다. → 이런 문제 때문에 분류기를 더 강력하게 만들기 위해서는 kernel methods와 같은 비선형 feature를 사용할 수 있지만, Gaussian kernel에서 발생하는 일반적인 피처는 학습자가 training example과 멀리 떨어진 것을 일반화할 수 있도록 하지 않는다. 즉, 기존의 옵션은 상당한 양의 엔지니어링 기술과 도메인 전문 지식을 필요로 하는 좋은 특징 추출기를 설계하는 것이지만 범용 학습 사용하여 좋은 기능을 자동으로 학습할 수 있다면 위의 문제들을 해결 가능(딥러닝의 가장 큰 장점)
  • 딥러닝 아키텍처는 간단한 모듈의 다층 스택으로, 거의 모든 모듈은 학습의 대상이며, 많은 모듈은 비선형 입출력 매핑을 계산한다. 스택의 각 모듈은 입력을 변환하여 표현의 선택성과 불변성을 모두 높인다.
  • ex) 깊이가 5~20인 여러 비선형 레이어를 사용하면 시스템은 사모예드와 흰 늑대를 구별하는 미세한 세부 정보에 동시에 민감하고 배경, 포즈, 조명 및 주변 물체와 같은 큰 관련 없는 변형에도 둔감한 입력의 매우 복잡한 기능을 구현할 수 있다.

Backpropagation (multilayer architectures를 훈련하기 위한)

  • ReLU일반적으로 많은 계층이 있는 네트워크에서 굉장히 빠르게 학습하여 지도되지 않은 사전 훈련 없이 심층 지도 네트워크를 훈련 가능하다.
  • 인기 있는 비선형 함수, f(z) = max(z, 0)
  • Hidden Units은닉 계층은 비선형 방식으로 입력을 왜곡하여 범주가 마지막 계층에 의해 선형적으로 분리될 수 있도록 한다
  • 입력 또는 출력 계층에 없는 유닛
  • deep feedforward network
  • 레이블이 지정된 데이터 없이 feature 검출기의 레이어를 만들 수 있는 비지도 학습 절차가 도입되었고, feature 검출기의 각 레이어를 학습하는 목적은 아래 레이어에서 feature 검출기(또는 원시 입력)의 활동을 재구성하거나 모델링할 수 있는 것이다. 점진적으로 더 복잡한 특징 검출기의 여러 레이어를 'pre-training'함으로 심층 네트워크의 가중치를 합리적인 값으로 초기화할 수 있다 → 손으로 쓴 숫자 인식 , 보행자 감지 하는데 잘 작동

CNNs (convolutional neural networks)

  • convolutional layer → 이전의 층에서 feature들의 결합을 감지하는 역할 (특징 추출)⇒ convolution & ReLU & pooling → 두세개의 단계가 쌓여있고, 더 많은 convolutional 하고 완전히 연결된 층들이 있다.
  • pooling layer → 의미상으로는 비슷한 feature들을 하나로 병합해주는 역할. 일반적인 pooling unit은 하나 또는 몇개의 특징 map에서 유닛의 local patch의 최대치를 계산하고 이웃 pooling unit은 하나 이상의 행 or 열로 이동하는 패치에서 입력을 받아 표현의 차원을 줄이고 작은 이동이나 왜곡 등에 대한 불변성을 생성한다(overfitting 방지)
  • 핵심 아이디어
    1. local connections
    2. shared weights
    3. pooling
    4. use of many layers
  • CNN + RNN → image caption 생성

Distributed representations & language processing

  • 딥러닝의 장점
    1. 학습 분산 표현은 학습 중에 볼 수 있는 것 이상으로 학습된 특징 값의 새로운 값들의 조합을 일반화할 수 있다(ex- n binary features → 2^n 조합 가능)
    2. deep net에서의 표현의 층들을 구성하는 것은 또 다른 기하급수적인 이점의 잠재성을 불러올 수 있다.
  • language processing
  • neural language model은 각각의 단어를 실제의 가치있는 피처들의 벡터값들과 연관시키기고 의미적으로 관계있는 단어들을 vector space에서 결국 가까워지기 때문에 의미적으로 관련있는 단어들의 시퀀스를 일반화시킬 수 있다.

RNNs (recurrent neural networks)

  • 음성 및 언어와 같이 순차적인 입력이 포함된 작업의 경우 RNN의 효과가 좋을 때가 많다
  • LSTM(Long Short-Term Memory) 네트워크


Comment

  • LLM
  • 현재의 기술 수준
  • LSTM