본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

딥러닝(Deep Learning) (2) - 자기부호화기(autoencoder) 및 LSTM(Long Short-Term Memory)

by neo-Lee 2023. 5. 24.

    (앞 편의 합성곱 신경망에 이어서 공부합니다.)

3. 자기 부호화기(autoencoder)

    자기 부호화기(autoencoder)는 3층 구조의 계층형 신경망입니다. 자기 부호화기(autoencoder)는 입력층과 출력층에 같은 수의 인공 뉴런이 있고, 은닉층에는 입출력층의 인공 뉴런보다 적은 수의 인공뉴런을 배치한 형태입니다. (그림 2)

 

(그림 2) Auto Encoder 기본형

 

    자기 부호화기(autoencoder)는 원래 비지도학습(unsupervised learning)으로 차원 축소(dimensionality reduction)가 목적인 계층형 신경망입니다. 그 의미를 살펴보면 다음과 같습니다.

    자기 부호화기에 넣은 학습 데이터는 입력층의 신경망 개수가 같은 차수의 벡터입니다. 자기 부호화기에서는 특정 학습 데이터에 대응하는 데이터와 일치하는 데이터를 사용합니다. 이 설정으로 복수의 학습 데이터세트를 이용해 학습을 진행합니다. 학습이 끝나고 입력층에 있는 데이터를 입력하면 출력층에 같은 데이터가 출력될 수 있는 신경망이 구성됩니다. 이처럼 학습 데이터세트에는 학습 데이터가 포함되지 않기 때문에 자기 부호화기의 학습은 비지도학습의 일종이라고 할 수 있습니다. 

    입력과 동일한 출력값을 얻을 수 있는 신경망은 그것만으로는 아무런 기능도 할 수 없습니다. 그러나 자기 부호화기에서는 은닉층(hidden layer)의 인공 뉴런이 입출력층보다도 적다는 점에 주목해야 합니다. 은닉층의 인공 뉴런의 수가 줄었는데도 불구하고 출력층에서 입력층과 같은 데이터가 출력된다는 의미는 은닉층에서 입출력의 데이터 표현을 압축한 표현을 얻을 수 있다는 의미입니다. 다시 말해서 자기 부호화기는 입력 데이터의 차원을 축소해서 저 차원의 보다 간단한 형태로 재기록하는 기능이 있습니다. 이처럼 자기 부호화기(autoencoder)라는 명칭에는 데이터를 부호화로 압축하는 기능비지도 학습(unsupervised learning)으로 구현한다는 의미가 내재되어 있습니다.

 

4. LSTM(Long Short-Term Memory)

    LSTM(Long Short-Term Memory)은 순환 신경망(RNN)의 일종으로, 순환 신경망의 단점을 보완할 목적으로 네트워크 구조가 기대한 대로 학습이 진행되도록 고안한 것입니다. 순환 신경망(RNN)은 자연어 처리와 같은 순차적 데이터를 처리하는 데 주로 사용되는 것으로 이전 시점의 정보를 은닉층에 저장하는 방식을 취합니다. 그러나, 입력값과 출력값 사이의 시점이 멀어질수록 이전 데이터가 점점 사라지는 기울기 소멸(vanishing gradient problem) 문제가 발생하게 되었습니다.

    계층형 신경망에 피드백을 더해 순화 신경망을 작성하면 입력 데이터의 과거 기억을 가진 신경망을 구성할 수 있습니다. 그러나 단순히 피드백을 더 하더라도 네트워크 설정에 따라서는 과거 기억이 크게 감소되어 과거 몇 스텝 이상의 기억을 유지하지 못하는 경우가 있습니다. 또는 반대로 과거 데이터의 영향이 너무 크다 보니 학습이 잘 이루어지지 않을 가능성도 있습니다. LSTM은 이전 정보를 기억하는 정도를 적절히 조절해 이러한 문제를 해결합니다.

 

아래 <그림>을 이용하여 설명하겠습니다.

    

[네이버 지식백과] &nbsp; LSTM &nbsp; (AI 용어사전)

    기존의 순환 신경망은 입력값과 출력값그리고 정보가 저장되는 은닉층으로만 구성되어 있습니다. LSTM에서는 <그림 >의 Ct에 해당하는 Cell State가 추가된다이 Cell State는 몇 가지 연산을 통해 과거 데이터를 얼마나 잊고 얼마나 기억할지를 조절하는 역할을 합니다이러한 조절은 Gate들을 통해 이루어지는데먼저 망각게이트(Forget Gate)는 과거 메모리를 잊기 위한 Gate에 해당합니다. <그림>의 가장 좌측에 위치한 Gate활성 함수로는 Sigmoid 함수를 이용합니다다음으로는 Input Gate를 거치는데현재 정보를 기억하기 위한 Gate에 해당합니다이 경우 Sigmoid 함수와 Tanh 함수가 적용된 두 개의 모듈로 이루어집니다다마지막으로 가장 우측의 tanh 함수가 적용되는 것을 볼 수 있는데이것은 Output Gate로 현재 시점의 출력 ht를 구하기 위한 것이라 할 수 있습니다.

  위에서 살펴본 바와 같이 LSTM(Long short-term memory)은 순환 신경망(RNN) 기법의 하나로, Cell state와 망각회로(Forget gate), Input gate, Output gate를 추가하여 기존 순환 신경망에서 발생하는 기울기 소멸 (Vanishing Gradient Problem) 문제를 해결하였습니다. LSTM은 기존 기울기 소멸(vanishing gradient problem) 문제를 해결할 수 있다는 장점을 가지나동시에 LSTM Cell 자체의 구조가 복잡해 연산 속도가 느리다는 단점이 있습니다이에 LSTM을 간소화한 GRU(Gated Recurrent Units)와 같은 모델이 개발되기도 하였다.

    (다음 편에 딥러닝 (3) 편 생성적 대립 신경망(GAN)이 이어집니다)

 

2023.05.23 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI): 딥러닝(Deep Learning) (1) - 합성곱 신경망(Convolutional Neural Network) 

728x90

댓글