[TIL] 20.08.04

우주먼지·2020년 8월 4일
0

TIL

목록 보기
15/28

아담 알고리즘

학습률을 개별 파라미터 별로 동적으로 조절해 경사하강법의 동작을 보완하고 학습 품질을 높여주는 방법.

모멘텀, 2차 모멘텀과 학습률을 활용한다.
파라미터 하나마다 모멘텀 정보와 2차 모멘텀 정보가 따라붙게 되어 파라미터 관리에 필요한 메모리 소비량이 매우 증가한다.

또한 학습이 이뤄질때마다 파라미터 값들과 모멘텀 정보도 다시 계산해야하므로 계산에 대한 부담이 증가한다. (컴퓨팅 파워 ↑)

이러한 나쁜점에도 불구하고 모르겠으면 아담을 사용하라 할만큼 성능은 좋다.

과소적합, 과대적합


출처 : https://tensorflow.blog/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/2-2-%EC%9D%BC%EB%B0%98%ED%99%94-%EA%B3%BC%EB%8C%80%EC%A0%81%ED%95%A9-%EA%B3%BC%EC%86%8C%EC%A0%81%ED%95%A9/
과소적합은 문제의 난이도에 비해 모델의 용량이 부족할 경우 발생한다.
정확도가 점점 낮아지는 현상이며, 이경우 모델의 용량을 늘리거나 학습횟수를 증가시키는 방법이 있다.
하지만 가장 좋은 방법은 데이터의 양을 늘려주는 것이다.

과대적합은 학습 데이터 자체의 특성을 외워서 학습데이터의 정확도보다 테스트 데이터의 정확도가 매우 낮게 나타내는 현상이다.
이는 데이터가 부족할 경우 발생하며, 데이터의 양을 늘리거나 정규화 기법을 통해 개선할 수 있다.

정규화 기법

정규화는 일부러 학습을 방해하는 제약을 가해 더 좋은 학습을 하도록 유도하는 방법이다.

정규화 기법으로는 L2, L1, Noise injection, Drop out, BAtch normalization이 있다.

L1 : 가중치의 절대값 합에 비례하여 가중치 페널티를 주는 방법이다. 즉, 정해진 일정한 값을 덜어내는 방법이다.
매우 낮은 특성의 가중치를 0으로 유도하여 모델에서 특성을 제거하도록 한다.

L2 : 가중치 제곱의 값에 비례하여 가중치에 페널티를 주는 방법이다. 높은 긍정 값 또는 낮은 부정 값을 갖는 이상특성에 대핸 가중치를 0으로 유도하여 이상 특성을 제거하도록 한다.

CNN

CNN은 원래 이미지 처리에 사용하는 신경망이다. 하지만 이미지와 같이 자연어를 처리하는대도 주변의 정보를 필요로 하며 공간적인 정보를 보존해야한다.

따라서 2014년에 박사과정을 하던 한 한국인이 이를 자연어 처리에 사용하고 좋은 성과를 냈다.
([논문]http://emnlp2014.org/papers/pdf/EMNLP2014181.pdf)

자연어 처리에서 CNN은 세로축만 존재하는 신경망이며, 상하로만 움직인다.

CNN처리를 하기전에 입력값으로 dense vector를 입력하며, 이를 행단위로 움직이면서, 커널과 함께 계산하여 feature map을 계산한다.

결정 트리

분할과 가지치기 과정을 통해 생성하고 분류모델이다

모든 노드가 순수 노드 될때까지 학습하면 모델이 복잡해지고 데이터에 과적합이 된다.
이를 제어하기 위한 방법으로 가지치기(pruning)과 사전가지치기(pre-pruning)이 있다.

pre-pruning은 트리의 최대 깊이나 리프노드의 최대 개수를 제어한다.
모델을 쉽게 시각화가 가능하고 규모에 영향을 받지 않아 특성의 정규화나 표준화가 필요없다는 장점이있다.
시계열 데이터는 예측이 불가능하고, 이 경우에도 과적합이 발생할 수 있어서 일반화 성능은 좋지 않다.

느낀점

  • 곧 오프라인 수업이 시작된다. 기대반 불안반이다. 오프라인되서 사람들 만나서 친해지고 싶은 생각은 있지만, 내가 친해질수 있을지에 대한 걱정도 된다.
  • 슬슬 취업에 대한 생각이 필요한것 같다. 어느쪽이 좋은지, 어떤 회사를 갈건지에 대한 조사가 필요하다고 생각이 든다.
  • 피곤하다.. 가 요즘 기저에 깔려있는 느낌이다. 이 피로는 어떻게 해소해야하는 것인가..
    잘 쉬는것이 어렵다.. 이런건 왜 안알려주는거지
profile
안녕하세요 ㅎㅎ

0개의 댓글