본문 바로가기

반응형

AI Theory

(81)
train loss와 validation loss 그래프로 모델 학습 상태 확인하기 train loss와 validation loss 그래프로 모델 학습 상태 확인하기 파란 선이 train loss, 빨간 선이 validation loss이다. A train loss와 validation loss가 둘다 감소하지 않음 학습이 잘 안되고 있는 상태 B train loss는 계속해서 감소하지만 validation loss는 약간 감소하다가 증가하고 있다 overfitting 상태이므로 모델을 수정해서 overfitting을 처리해야 함 C(good) train loss와 validation loss가 둘다 감소하는 상태 train loss와 validation loss가 유사하게 감소하여 validation data가 유출됐다고 생각할 수도 있으나 X 학습이 잘 진행되는 중 D(good) ..
케창딥 | 모델 배포 케창딥 | 모델 배포 다음은 머신러닝 모델을 개발하는 일반적인 워크플로우이다. 1. 작업 정의 문제 정의 데이터 수집 데이터 이해 성공지표 선택 2. 모델 개발 데이터 준비 평가 방법 선택 기준 모델 뛰어넘기 모델 용량 키우기:과대적합 모델 만들기 모델 규제와 하이퍼파라미터 튜닝 3. 모델 배포 고객에게 작업을 설명하고 기대치 설정하기 모델이 실패하는 몇가지 사례 거짓음성비율, 거짓양성비율 모델의 성능지표와 비즈니스 목표를 명확하게 연관짓기 출시할 때 적용할 핵심 파라미터에 대해서도 고객과 논의하기 추론 모델 배치하기 REST API로 모델 배포하기 모델을 제품으로 바꾸는 가장 보편적인 방법 서버나 클라우드 인스턴스에 텐서플로우를 설치하고 REST API로 모델 예측 요청 플라스크 같은 웹 개발 라이브러..
[케라스 창시자에게 배우는 딥러닝] ch5 딥러닝 모델의 일반화, 성능 평가 방법 [KR] keras_DL_CH5_ ch5 예상문제 Q1. 최적화와 일반화에 대해 설명하라(180P) 최적화는 가능한 훈련 데이터 내에서 최고의 성능을 얻으려고 모델을 조정하는 과정이다. 일반화는 훈련된 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는지를 의미한다. 머신러닝의 목표는 좋은 일반화 성능을 얻는 것이다. 모델을 훈련데이터에 대해 최적화하려고만 하면 과대적합이 시작되고 일반화 성능이 나빠진다. Q2. 과대적합은 데이터가 어떤 경우 발생할 가능성이 높아지는가? 데이터에 잡음이 있거나, 불확실성이 존재하거나 드문 특성이 포함되어 있을 때 과대적합이 발생할 가능성이 높다. 딥러닝 모델의 일반화 모델을 학습하면 label과 feature 사이에 아무런 관계까 없지만 train loss가 감소한..
categorical cross entropy vs sparse cross entropy categorical cross entropy vs sparse cross entropy 둘 모두 분류문제에서 사용되는 loss function이다. 어떤 차이가 있을까? categorical cross entropy 레이블이 원-핫 인코딩(one-hot encoding)으로 표현된 경우에 주로 사용 다중 클래스 분류에 사용 예측값은 확률 분포로 표현되며, 모델이 예측한 클래스의 확률이 정답 레이블에 가까울수록 손실이 작아짐 sparse cross entropy 레이블이 정수 형태로 표현되는 경우에 주로 사용 클래스가 많은 경우, 원-핫 인코딩을 사용하면 메모리를 많이 소모하게 되기 때문에 정수 형태로 레이블을 표현하게 되고 이 때 sparse cross entropy를 손실함수로 사용
텍스트 데이터 전처리 | 1. 토큰화(tokenization) 텍스트 데이터 전처리 (Text Data Preprocessing) 크롤링 등으로 얻어낸 코퍼스 데이터가 전처리되지 않은 상태일 경우, 용도에 맞게 토큰화, 정제, 정규화 등을 수행하는 전처리 과정을 지난다. 이 중 토큰화 내용 정리 토큰화(tokenization) 주어진 corpus에서 token이라는 단위로 나누는 작업 보통 의미있는 단위로 token을 정의한다 크게 단어 토큰화, 문장 토큰화가 있다. 단어 토큰화(word tokenization) 토큰의 기준을 단어(word)로 하는 경우 여기서 단어는 단어 단위 외에도 단어구, 의미를 갖는 문자열로도 설정할 수 있다. 띄어쓰기, 구두점만으로 토큰화하는 것은 불가능하다. 특히 한국어의 경우 띄어쓰기만으로는 단어 토큰을 구분하기 어렵다. 예를 들어, ..
가중치 초기화와 배치 정규화 가중치 초기화와 배치 정규화 가중치 초기화 신경망 성능에 큰 영향을 줌 가중치 값이 치우치면 활성화 함수의 결과도 치우쳐서 표현할 수 있는 신경망 수가 적어짐 모델의 활성화 값이 골고루 분포되도록 하는 것이 중요 선형 함수 가중치 초기화 제로 초기화 가중치를 0으로 초기화 각 레이어의 가중치 분포가 중앙에만 몰려있어 학습 불가능 정규분포 초기화 제로 초기화보다는 분포가 퍼져있으나 여전히 중앙에 치우쳐 있음 균일분포 초기화 제로 초기화보다는 분포가 퍼져있으나 여전히 중앙에 치우쳐 있음 활성화 값이 균일하지 않아 역전파로 전해지는 기울기 값이 사라질 수 있음 xavier 정규분포 초기화 은닉층 노드 수가 n이면 표준편차는 1/sqrt(n)인 분포로 초기화 비교적 분포도 고르고 레이어마다 표현이 잘 되 더 많..
모델 크기 조절과 규제 모델 크기 조절과 규제 모델의 크기 조절 과대적합이 발생할 경우, 해결 방법 중 하나로 모델의 크기를 줄이는 것이 제시된다. 모델의 크기를 조절하는 것은, 레이어의 유닛 수와 레이어의 수를 조절하는 것이다. 1. 레이어 유닛수를 감소시켜 모델 전체 파라미터 수 감소시키기 2. 레이어 수를 줄여서 더 앝은 신경망으로 만들기 데이터의 규모가 클 때, 더 크고 깊은 모델이 더 좋은 성능을 보여주지만, 데이터에 비해 모델이 너무 크면 과대적합이 발생할 수 있다. 따라서 데이터의 크기에 따라 모델 크기를 적절하게 설정해야 한다. 같이보면 좋을 글 [모델 튜닝] 하는 방법 - 과대적합과 과소적합 이번 포스팅에서는 머신러닝/딥러닝 모델의 성능평가 이슈 2가지 과대적합(overfittiong)과 과소적합(underfi..
딥러닝 구조와 모델 딥러닝 구조와 모델 딥러닝 구조와 레이어 딥러닝은 여러개의 layer로 구성되어 있다 기본적으로 입력층(input), 은닉층(hidden), 출력층(output)으로 구분된다 레이어는 딥러닝 모델을 구성하는 핵심 데이터 구조로서 하나 이상의 텐서를 입력받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈이다. input 객체 입력 데이터 모양인 shape와 예상 데이터유형 dtype을 정의. 그 외에도 batch size, name 지정 가능 Dense 레이어 완전연결계층(Fully-Connected Layer)으로 노드수(유닛수)를 지정 Flatten 레이어 배치 크기 또는 데이터 크기를 제외하고 데이터를 1차원 형태로 평평하게 반환 activation 레이어 주로 비선형 활성화 함수 사용 Dense l..

반응형