반응형

1. 인공 신경망

  • 생물학적 뉴런에서 영감을 받아 만든 머신러닝 알고리즘
  • 신경망은 기존의 머신러닝 알고리즘으로 다루기 어려웠던 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘
  • 인공 신경망 알고리즘을 종종 딥러닝이라고도 부름
  • 텐서플로
    • 구글이 만든 딥러닝 라이브러리
    • CPU와 GPU를 사용해 인공 신경망 모델을 효율적으로 훈련하며 모델 구축과 서비스에 필용한 다양한 도구를 제공
    • 텐서플로 2.0부터는 신경망 모델을 빠르게 구성할 수 있는 케라스를 핵심 API로 채택
    • 케라스를 사용하면 간단한 모델에서 아주 복잡한 모델까지 손쉽게 만들 수 있음
  • 밀집층
    • 가장 간단한 인공 신경망의 층
    • 뉴런들이 모두 연결되어 있기 때문에 완전 연결 층이라고도 부름
    • 출력층에 밀집층을 사용할 때는 분류하려는 클래스와 동일한 개수의 뉴런을 사용
  • 원-핫 인코딩
    • 정숫값을 배열에서 해당 정수 위칭의 원소만 1이고 나머지는 모두 0으로 변환
    • 다중 분류에서 출력층에서 만든 확률과 크로스 엔트로피 손실을 계산하기 위해서 변환이 필요
    • 텐서플로에서는 'sparse_categorical_entropy' 손실을 지정하면 이런 변환을 수행할 필요가 없음
  • 확인 문제
    1. 밀집층에 있는 뉴런 개수가 10개일 때 100개의 입력층과 연결된다. 1000개의 가중치가 발생 함. 뉴런마다 1개의 절편이 있으니 1010개의 모델 파라미터가 필요.
    2. sigmoid의 non-linear curver를 적용
    3. compile()
      1. loss 매개변수에 손실 함수를 지정
      2. 이진 부류일 경우 'binary_crossentropy', 다중 분류일 경우 'categorical_crossentropy'를 지정
      3. 정수일 경우 'sparse_categorical_crossentropy'로 지정
      4. 회귀 모델일 경우 'mean_square_error' 등으로 지정
      5. metrics 매개변수에 훈련 과정에서 측정하고 싶은 지표를 지정할 수 있음
      6. 측정 지표가 1개 이상일 경우 리스트로 전달
    4. 정수 레이블을 타겟으로 가지는 다중 분류 모델일 경우 compile() 메서드의 categorical_crossentropy를 지정

2. 심층 신경망

  • 2개 이상의 층을 포함한 신경망
  • 다층 인공 신경망, 심층 신경망, 딥러닝을 같은 의미로 사용
  • 렐루 함수
    • 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수
    • 시그모이드 함수는 층이 많을수록 활성화 함수의 양쪽 끝에서 변화가 작기 때문에 학습이 어려워짐
    • 렐루 함수는 이런 문제가 없으며 계산도 간단함
  • 옵티마이저
    • 신경망의 가중치와 절편을 학습하기 위한 알고리즘 또는 방법
    • 케라스에는 다양한 경사 하강법 알고리즘이 구현되어 있음
    • 대표적으로 SGD, 네스테로프 모멘텀, RMSprop, Adam 등이 있음.
  • 확인 문제
    1. add()
      1. 케라스 모델에 층을 추가하는 메서드
      2. keras.layers 패키지 아래에 있는 층의 객체를 입력받아 신경망 모델에 추가
      3. add() 메서드를 호출하여 전달한 순서대로 층이 차례대로 늘어남
    2. Flatten - 
    3. relu 함수는 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수
    4. SDG - 모멘텀, 네스테로프 모멘텀 알고리즘을 구현하는 클래스, 일정한 학습률을 사용함.

3. 신경망 모델 훈련

  • 드롭아웃
    • 은닉층에 있는 뉴런의 출력을 랜덤하게 꺼서 과대적합을 막는 기법
    • 훈련 중에 적용되며 평가나 예측에서는 적용하지 않음
    • 텐서플로는 이를 자동으로 처리
  • 콜백
    • 케라스 모델을 훈련하는 도중에 어떤 작업을 수행할 수 있도록 도와주는 도구
    • 대표적으로 최상의 모델을 자동으로 저장해 주거나 검증 점수가 더 이상 향상되지 않으면 일
      찍 종료할 수 있음
    • 조기종료
      • 검증 점수가 더 이상 감소하지 않고 상승하여 과대적합이 일어나면 훈련을 계속 진행하지 않고 멈추는 기법
      • 계산 비용과 시간을 절약할 수 있음
반응형

+ Recent posts