분류:딥러닝 기능 구현

Pywiki
둘러보기로 가기 검색하러 가기

다양한 기능을 어떻게 구현할 것인가에 대한 문서를 분류하기 위한 분류.

1 층을 어떻게 구현할 것인가?

1.1 무조건 크게?

너무 많은 파라미터는 과적합의 원인이 되기도 한다. 과적합을 막기 위해 네트워크의 크기를 줄이는 것도 전략이다. 손실이 감소할때까지 점차 유닛의 수를 늘려가는 것이 일반전략.(일반적으로 네트워크가 크면 작은 네트워크보다 더 빠르게 과적합 되었다.) 네트워크가 크면 오히려 성능이 안좋아진다.

2 다양한 사례의 연구결과 공유

특정 기능을 구현하기 위해 어떤 층을 몇개나 준비해야 하나 고민에 빠지게 된다.

  • 다양한 경험이 주는 강점은... 대강 어느 정도면 어떤 기능을 구현할 수 있겠다는 감각을 얻는 것. 대략적인 경험의 사례공유는 커다란 도움이 된다.
사례 시도 성과 링크
0~9의 아라비아 숫자를 구분하는 것. 렐루 활성화함수로 512개, 소프트맥스 활성화함수로 10개.

2개 층만으로도 충분하다... 놀랍네; 고작 2층으로!

정확도는 97.8% 링크
영화 리뷰 분류.

긍정리뷰와 부정리뷰 분류.

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
정확도는 약 90% 링크
뉴스 분류

46개의 토픽으로 뉴스를 분류한다.

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
링크

하위 분류

다음은 이 분류에 속하는 하위 분류 2개 가운데 2개입니다.