koos808

내 맘대로 딥러닝 퀴즈 -1 본문

Deep Learning/Deep Learning Quiz

내 맘대로 딥러닝 퀴즈 -1

koos808 2020. 7. 5. 02:19
728x90
반응형
  • 내 맘대로 퀴즈 1. 그걸 왜 하죠?

    • DNN에서 Pre-training을 왜 하죠?

      • 다층 feed-forward 신경망은 gradient vanishing 문제로 인해 일반적으로는 학습이 잘 되지 않기 때문에 여러 방법 중 하나로 pre-training을 합니다.
    • 오토인코더는 왜 하죠?

      • 오토인코더는 다양한 pre-training 중에 기본적인 방법 중 하나인데요. 가중치의 좋은 초기값을 얻는 목적으로 이용하고 목표 출력없이 입력만으로 구성된 트레이닝 데이터로 비지도 학습을 수행해 데이터의 특징을 나타내기 위해 오토인코더를 합니다.

      • 오토인코더는 머신러닝에서 PCA와 비슷한 역할을 한다고 생각하시면 이해하기 쉬울 것입니다. 이제 오토인코더가 자주 쓰이는 이유에 대해 알려드리도록 하겠습니다.

          1. 데이터 압축 : 데이터 압축이란 메모리 측면에서의 장점입니다. AutoEncoder를 이용하여 이미지나 음성 파일을 중요 Feature만 가지고 압축할 경우, 용량도 작고 품질도 더 좋다고 합니다.
          1. Curse of dimensionality : 일명 차원의 저주라고 불리는 문제를 예방할 수 있습니다. 예를 들어서, 1,2, ..., 10의 값을 가질수 있는는 X1에 대하여 8개의 관측치가 있다고 생각해봅시다. 이 경우 데이터의 밀도는 0.8로 어느정도 높은 값을 가집니다. 하지만 X1, X2, X3로 3차원으로 넓히게 되면 데이터가 가질 수 있는 분포가 10X10X10=1000개가 되서 밀도는 0.008로 매우 작아지게 됩니다. 이처럼 데이터의 차원이 증가할수록 모델추정에 필요한 샘플 데이터의 개수가 기하급수적으로 증가하게 되는 것을 차원의 저주라고 합니다. AutoEncoder는 Feature의 수를 줄여줌으로써, 데이터의 차원이 감소하여 차원의 저주를 피하게 할 수 있게됩니다.
          1. Discovering most important features : AutoEncoder는 unsupervised learning으로 자동으로 중요한 Feature를 찾아줍니다. 예를 들어서, 숫자 인식하는 문제에서 숫자의 두께나, 회전각도, 크기와 같은 중요한 Feature를 자동으로 찾아주게 됩니다. 특히, A1과 A2중에 B와 가까운 것이 무엇이냐는 질문에, Raw data에서 본다면 A1이 가깝지만, 실제로 중요한 Feature에 대해서는 A2가 가까운 것으로 나타납니다. 이처럼 고차원 공간에서의 거리는 아무런 의미가 없을 수 있습니다. 따라서 중요한 Feature인 Manifold를 잘 찾아내는 것이 중요합니다. AutoEncoder가 이 때문에 각광을 받고 있는것입니다.
    • sparse(희소) 오토인코더는 왜 하죠?

      • 바로 overfitting 문제를 줄이는 효과가 있기 때문입니다. 실제로 AutoEncoder의 문제점중 하나로 Feature를 압축하다보면, 다른 데이터가 들어와도 training set과 비슷하게 만들어버리는 overfitting 문제가 있습니다. 이를 방지하기 위해 Sparse AutoEncoder를 통해 sparse (0이 많은)한 노드들을 만들고, 그 중에서 0과 가까운 값들은 전부 0으로 보내버리고 0이 아닌 값들만 사용하여 네트워크를 학습시킵니다. 이로써 기존의 AutoEncoder의 overfitting 문제도 줄이고, 차원 축소 효과도 얻을 수 있다고합니다.
    • stacked(적층) 오토인코더는 뭐고 왜 하죠?

      • Stacked AutoEncoder는 말그대로 AutoEncoder를 층으로 쌓아서 사용하는 방법입니다. Stacked AutoEncoder는 주로 네트워크를 Pretraining할 때, initial weight를 초기화하는 방법으로 사용됩니다.
      • stacked 오토인코더를 사용하는 이유는 feed-forward 신경망의 gradient vanishing 문제를 해결할 수 있고 좋은 초기값을 줘서 학습을 좀 더 잘할 수 있게 만들기 위함입니다.
    • denosing 오토인코더는 뭐고 왜 하죠?

      • Denoising AutoEncoder는 입력층에서 Hidden layer로 갈 때, Noise를 추가한 것입니다. 이 때 Noise는 기존의 입력 데이터를 변화 시키는데, 사람의 인식하에서 같은 데이터라고 느낄 정도의 수준만 허용합니다.
      • 따라서 데이터는 실제로 달라지지만, 인식하는데에는 지장을 주지 않게 됩니다. 이러한 노이즈를 추가하였을 때 실제로 성능에 있어서 더 좋아진다고 합니다.
728x90
반응형

'Deep Learning > Deep Learning Quiz' 카테고리의 다른 글

내 맘대로 딥러닝 퀴즈 -2  (0) 2020.07.05
Comments