‘블록과 함께 하는 파이썬 딥러닝 케라스’ 세미나 4

이번 세미나에서는 ‘3부 레이어 개념 잡기’의 1장에서 2장까지 다룹니다.

 

1장과 2장을 읽고 다층 퍼셉트론 신경망을 구성해 보면서 레이어 개념을 익힙니다.

p96. 케라스의 핵심 데이터 구조는 모델이고 이 모델을 구성하는 것이 레이어이다. 기본적인 레이어 개념을 익히면 모델을 블록을 쌓는 것처럼 쉽게 구성할 수 있다.

99. 케라스에서는 전결합층을 Dense 클래스로 구현된다. 주요 인자는 다음과 같다. Dense 레이어는 입력 뉴런 수에 상관없이 출력 뉴런 수를 자유롭게 설정할 수 있기 때문에 출력층으로 많이 사용된다.

  • units: 출력 뉴런의 수를 설정
  • input_dim: 입력 뉴런의 수를 설정
  • activation: 활성화 함수를 설정
    • ‘linear’: 디폴트 값, 입력뉴런과 가중치로 계산된 결과값이 그래도 출력
    • ‘relu’: rectificer 함수, 은닉층에 주로 사용
    • ‘sigmoid’: 시그모이드 함수, 이진 분류 문제에서 출력층에 주로 사용
    • ‘softmax’: 소프트맥스 함수, 다중 클래스 분류 문제에서 출력층에 주로 쓰임

p104. 매번 실행 시마다 결과가 달라지지 않도록 랜덤 시드를 명시적으로 지정합니다. 이것을 하지 않으면 매번 실행 시마다 동일 모델임에도 불구하고 다른 결과가 나오기 때문에 연구 개발 단계에서 파라미터 조정이나 데이터셋에 따른 결과 차이를 보려면 랜덤 시드를 작성해주는 것이 좋다.

랜덤 시드를 지정하는 부분에 대해서 좀 더 알아보기 위해 검색을 해 보았습니다. 아래 링크가 조금은 도움이 되었습니다.

https://machinelearningmastery.com/reproducible-results-neural-networks-keras/

p104 데이터셋 링크에서는 더 이상 해당 데이터셋을 다운받을 수가 없네요. 아래 링크에서 받으실 수 있습니다. 케글에 가입해야 합니다.

https://www.kaggle.com/wanglaiqi/pimaindiansdiabetesdata

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*