• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

변수 선택 및 모델 구축 관련해서 질문드립니다.

20.04.08 13:08 작성 조회수 92

0

4. 변수 선택 및 모델 구축

Feature Engineering & Initial Modeling

이런 lstm 모델 같은 걸 구축할때 선생님께서는 어디를 참고하셔서 모델을 짜시는지 궁금합니다.

# 간단한 lstm 모델 구축하기 
simple_lstm_model = tf.keras.models.Sequential([
    tf.keras.layers.LSTM(128, input_shape=sequence.shape[-2:]),
    tf.keras.layers.Dense(256, activation='linear'),
    tf.keras.layers.Dense(128, activation='linear'),
    tf.keras.layers.Dense(1)
])

simple_lstm_model.compile(optimizer='adam', loss='mse')

이런 모델을 짤떄 activation, layer 선택, optimzier 등등 선택할 수 있는 종류가 너무 많은데, 이런 것들 중에 

우선적으로 어떤것들을 먼저 바꿔가며 모델을 짜야 할지 잘 모르겠어서 질문드립니다. 

답변 1

답변을 작성해보세요.

0

안녕하십니까,

LSTM이 적용되는 다양한 분야가 있는 데 질문 내용이 광범위해서 뭐라 답을 드려야 할지 조심스럽습니다. 

1. 일단 저는 검증된 모델을 사용합니다.  상황에 따라 다른 LSTM 모델이 적용되어야 하므로 Kaggle등에서 지금 고민하고 있는 사례와 유사하게 적합한 사례에 맞는 LSTM 모델이 있다면 거기에 맞는 activation, layer 선택, optimzer를 선택합니다.  어느정도 몇개 모델을 참조하다보면 자신만의 아키텍처를 세우는데 도움이 됩니다.

2. 두번째는 AutoML을 이용하는 것인데, 아직은 연구가 계속 진행되고 있는 분야입니다. Architecture를 스스로 만들고, 하이퍼 파라미터를 자동으로 튜닝하는 방식인데 아직 초기 단계이고 최적화에 너무 많은 시간과 자원이 소모된다는 단점이 있습니다. 

대표적으로 Neural Architecture Search(NAS)와(아쉽게도 NAS는 주로 CNN계열에서 적용되고 있습니다) Baysian hyperparameter optimization이 있습니다.  인터넷 검색을 해보시면 관련 자료를 찾으실 수 있을 것입니다.

말씀해 주신 activation, layer 선택, optimzier 등등 선택할 수 있는 종류가 너무 많은데 이들을 적절히 선택하고 튜닝하는 것이 바로 딥러닝을 배워나가는 방법일 것입니다.많은 실전 사례들을 직접 경험하신다면 직접 딥러닝 아키텍처를 만드는데 큰 도움이 될 것입니다.

감사합니다.