반응형
1. 인공 신경망
- 생물학적 뉴런에서 영감을 받아 만든 머신러닝 알고리즘
- 신경망은 기존의 머신러닝 알고리즘으로 다루기 어려웠던 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘
- 인공 신경망 알고리즘을 종종 딥러닝이라고도 부름
- 텐서플로
- 구글이 만든 딥러닝 라이브러리
- CPU와 GPU를 사용해 인공 신경망 모델을 효율적으로 훈련하며 모델 구축과 서비스에 필용한 다양한 도구를 제공
- 텐서플로 2.0부터는 신경망 모델을 빠르게 구성할 수 있는 케라스를 핵심 API로 채택
- 케라스를 사용하면 간단한 모델에서 아주 복잡한 모델까지 손쉽게 만들 수 있음
- 밀집층
- 가장 간단한 인공 신경망의 층
- 뉴런들이 모두 연결되어 있기 때문에 완전 연결 층이라고도 부름
- 출력층에 밀집층을 사용할 때는 분류하려는 클래스와 동일한 개수의 뉴런을 사용
- 원-핫 인코딩
- 정숫값을 배열에서 해당 정수 위칭의 원소만 1이고 나머지는 모두 0으로 변환
- 다중 분류에서 출력층에서 만든 확률과 크로스 엔트로피 손실을 계산하기 위해서 변환이 필요
- 텐서플로에서는 'sparse_categorical_entropy' 손실을 지정하면 이런 변환을 수행할 필요가 없음
- 확인 문제
- 밀집층에 있는 뉴런 개수가 10개일 때 100개의 입력층과 연결된다. 1000개의 가중치가 발생 함. 뉴런마다 1개의 절편이 있으니 1010개의 모델 파라미터가 필요.
- sigmoid의 non-linear curver를 적용
- compile()
- loss 매개변수에 손실 함수를 지정
- 이진 부류일 경우 'binary_crossentropy', 다중 분류일 경우 'categorical_crossentropy'를 지정
- 정수일 경우 'sparse_categorical_crossentropy'로 지정
- 회귀 모델일 경우 'mean_square_error' 등으로 지정
- metrics 매개변수에 훈련 과정에서 측정하고 싶은 지표를 지정할 수 있음
- 측정 지표가 1개 이상일 경우 리스트로 전달
- 정수 레이블을 타겟으로 가지는 다중 분류 모델일 경우 compile() 메서드의 categorical_crossentropy를 지정
2. 심층 신경망
- 2개 이상의 층을 포함한 신경망
- 다층 인공 신경망, 심층 신경망, 딥러닝을 같은 의미로 사용
- 렐루 함수
- 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수
- 시그모이드 함수는 층이 많을수록 활성화 함수의 양쪽 끝에서 변화가 작기 때문에 학습이 어려워짐
- 렐루 함수는 이런 문제가 없으며 계산도 간단함
- 옵티마이저
- 신경망의 가중치와 절편을 학습하기 위한 알고리즘 또는 방법
- 케라스에는 다양한 경사 하강법 알고리즘이 구현되어 있음
- 대표적으로 SGD, 네스테로프 모멘텀, RMSprop, Adam 등이 있음.
- 확인 문제
- add()
- 케라스 모델에 층을 추가하는 메서드
- keras.layers 패키지 아래에 있는 층의 객체를 입력받아 신경망 모델에 추가
- add() 메서드를 호출하여 전달한 순서대로 층이 차례대로 늘어남
- Flatten -
- relu 함수는 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수
- SDG - 모멘텀, 네스테로프 모멘텀 알고리즘을 구현하는 클래스, 일정한 학습률을 사용함.
- add()
3. 신경망 모델 훈련
- 드롭아웃
- 은닉층에 있는 뉴런의 출력을 랜덤하게 꺼서 과대적합을 막는 기법
- 훈련 중에 적용되며 평가나 예측에서는 적용하지 않음
- 텐서플로는 이를 자동으로 처리
- 콜백
- 케라스 모델을 훈련하는 도중에 어떤 작업을 수행할 수 있도록 도와주는 도구
- 대표적으로 최상의 모델을 자동으로 저장해 주거나 검증 점수가 더 이상 향상되지 않으면 일
찍 종료할 수 있음 - 조기종료
- 검증 점수가 더 이상 감소하지 않고 상승하여 과대적합이 일어나면 훈련을 계속 진행하지 않고 멈추는 기법
- 계산 비용과 시간을 절약할 수 있음
반응형
'IT > 머신러닝&딥러닝' 카테고리의 다른 글
05. 비지도 학습 (0) | 2023.02.12 |
---|---|
04. 교차 검증 및 앙상블 학습 (0) | 2023.02.05 |
03. 로지스틱 회귀 (0) | 2023.01.24 |
02. 회귀 알고리즘과 모델 규제 (0) | 2023.01.15 |
01. 머신러닝, 딥러닝 정리 및 개발 환경 (0) | 2023.01.08 |