본문 바로가기

케라스 창시자에게 배우는 딥러닝(DACOS)

(11)
12. 생성 모델을 위한 딥러닝 [목차]12-1) 텍스트 생성12-2) 딥드림12-3) 뉴럴 스타일 트랜스포머12-4) 변이형 오토인코더를 이용한 이미지 생성12-5) 생성적 적대 신경망      12-1) 텍스트 생성 순환 신경망으로 시퀀스 데이터를 생성하는 것 역사2000 후반~2010: 펜 위치를 기록한 시계열 데이터를 사용하여 순환 네트워크와 완전 연결 네트워크를 혼합한 네트워크로 사람이 쓴 것 같은 손글씨 생성2014: LSTM ~2016년에 주류가 됨2017~2018: 트랜스포머 아키텍쳐 사용 언어 모델- 토큰(단어 또는 글자)들이 주어졌을 때 다음 토큰을 예측하는 작업을 수행하는 모델- 언어의 통계적 구조인 잠재 공간을 학습함- 임의 길이의 시퀀스 생성  샘플링 전략- 탐욕적 샘플링: 항상 가장 높은 확률을 가진 글자를 선..
11. 텍스트를 위한 딥러닝 [목차] 11-1) 자연어 처리 소개11-2) 텍스트 데이터 준비11-3) 단어 그룹을 표현하는 두 가지 방법: 집합과 시퀀스11-4) 트랜스포머 아키텍쳐11-5) 텍스트 분류를 넘어: 시퀀스-투-시퀀스 학습     11-1) 자연어 처리 소개 어셈블리어: 기계를 위해 고안된 언어 자연어: 사람의 언어> 복잡하고, 모호하고, 불규칙함 불규칙적이기 때문에 언어 규칙 집합을 찾을 수 없음 > 데이터를 사용하여 이런 규칙을 찾는 과정을 자동화함 자연어 처리(NLP) : 입력을 언어로 받아 어떤 유용한 것을 반환하는 것 자연어 처리 예시- 글의 주제 찾기(텍스트 분류)- 텍스트에 부적절한 내용이 포함되어 있는지(콘텐츠 필터링)- 텍스트가 긍정적/부정적인지 (감성 분석)- 문장을 완성하기 위한 다음 단어 찾기(언..
10. 시계열을 위한 딥러닝 [목차]10-1) 다양한 종류의 시계열 딥러닝10-2) 온도 예측 문제10-3) 순환 신경망 이해하기10-4) 순환 신경망의 고급 사용법      10-1) 다양한 종류의 시계열 딥러닝 시계열 데이터: 일정한 간격으로 측정하여 얻은 데이터ex) 자연 현상(지진 활동 등), 인간의 활동 패턴(웹 사이트 방문자, 카드 거래 변화 등) >> 시스템 역학에 대한 이해 필요 작업 종류1) 예측: 현 시점의 데이터 다음에 일어날 변화를 예측>> 가장 일반적인 시계열 관련 작업 2) 분류: 하나 이상의 범주형 레이블을 시계열에 부여 (봇/인간 구분 등) 3) 이벤트 감지: 연속된 데이터 스트림에서 예상되는 특정 이벤트를 식별 (인공지능의 특정 단어 감지 등) 4) 이상치 탐지: 연속된 데이터 스트림에서 발생하는 비정..
9. 컴퓨터 비전을 위한 고급 딥러닝 [목차]9-1 ) 세가지 주요 컴퓨터 비전 작업9-2 ) 이미지 분할 예제9-3 ) 최신 컨브넷 아키텍쳐9-4 ) 컨브넷이 학습한 것 해석하기     9-1 ) 세가지 주요 컴퓨터 비전 작업 1) 이미지 분류: 이미지에 하나 이상의 레이블을 할당하는 작업 (단일 레이블 분류 / 다중 레이블 분류)ex) 다중 레이블 분류: 구글 포토 앱 키워드 검색  2) 이미지 분할: 이미지를 서로 다른 영역으로 나누거나 분할하는 작업, 각 영역은 일반적으로 하나의 범주를 나타냄ex) 구글 미트 속 지정 배경을 출력하는 기능 (인물과 배경 분리)  3) 객체 탐지: 이미지에 있는 관심 객체 주변으로 바운딩 박스를 그리는 작업 (각 사각형은 하나의 클래스와 연결)ex) 자율주행 자동차의 보행자/ 자동차/ 표지판 등을 감지..
8. 컴퓨터 비전을 위한 딥러닝 목차8-1) 합성곱 신경망 소개8-2) 소규모 데이터셋에서 밑바닥부터 컨브넷 훈련하기8-3) 사전 훈련된 모델 활용하기    8-1) 합성곱 신경망 소개컨브넷: 대부분의 컴퓨터 비전 애플리케이션에 사용하는 합성곱 신경망의 일종  기본적인 합성곱 신경망의 모습from tensorflow import kerasfrom tensorflow.keras import layersinputs = keras.Input(shape=(28, 28, 1))     // 입력 텐서x = layers.Conv2D(filters=32, kernel_size=3, activation="relu")(inputs)   // 모델링 과정x = layers.MaxPooling2D(pool_size=2)(x)x = layers.Conv2D..
7. 케라스 완전 정복 7-1) 다양한 워크플로7-2) 케라스 모델을 만드는 여러 방법7-3) 내장된 훈련 루프와 평가 루프 사용하기7-4) 사용자 정의 훈련, 평가 루프 만들기    7-1) 다양한 워크플로 - 케라스 api 설계는 복잡성의 단계적 공개 원칙을 따름- 시작은 쉽게, 필요할 때 단계마다 점진적으로 학습하여 아주 복잡한 경우도 처리 가능- 모든 워크플로는 동일한 API (Layer, Model 등) 기반으로 하기 때문에 한 워크플로의 구성 요소를 다른 워크플로에서 사용할 수 있음  7-2) 케라스 모델을 만드는 여러 방법 모델 생성 API 종류1) Sequential 모델2) 함수형 API3) Model 서브클래싱   1) Sequential 모델 - Sequential 클래스를 사용하여 모델 만듬model = ..
6. 일반적인 머신러닝 워크플로 목차6-1) 작업 정의6-2) 모델 개발6-3) 모델 배포   6-1) 작업 정의 1. 작업 정의에 필요한 가설 2가지1) 주어진 입력으로 타겟을 예측할 수 있다는 가정2) 가용한 데이터(혹은 수집된 데이터)에 입력과 출력 사이의 관계를 학습하는 데 충분한 정보가 있다는 가정 > 위 2가지 가설은 작동하는 모델을 얻은 이후 검증될 수 있음  2. 데이터 수집- 작업 특성 이해, 입력과 타깃 파악 이후 단계- 가장 힘들고 시간과 비용 많이 소모 EX)- 사진 검색 엔진 프로젝트에서 사진에 수동으로 태깅- 불량 쿠키 감지 모델 훈련을 위해서 쿠키 이미지에 불량인지 아닌지 수동으로 태깅 필요- 음악 추천 엔진에서 과거 음악 클릭률 데이터 > 수동으로 태그 달아야 하는 등 기록 수집에 있어 시간/비용 크게 소모..
5. 머신 러닝의 기본 요소 [목차] 5-1 ) 일반화: 머신 러닝의 목표 5-2 ) 머신 러닝 모델 평가 5-3 ) 훈련 성능 향상하기 5-4 ) 일반화 성능 향상하기 5-1 ) 일반화: 머신 러닝의 목표 최적화: 훈련 데이터에서 최고의 성능을 얻으려고 모델을 조정하는 과정 > 목표: 훈련 데이터에서 높은 성능 일반화: 훈련한 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는지를 의미 > 목표: 테스트 데이터에서 높은 성능 [과대적합과 과소적합] >> 확인 위해서는 손실, 혹은 정확도의 훈련 반복에 따른 증감을 테스트 데이터 훈련 데이터에 대해 그래프로 나타내는 것이 좋음 ( 두 그래프를 비교해 과대적합/과소적합 일어나는 지점 찾음) 과소적합: 훈련 데이터의 손실이 낮아질수록 테스트 데이터의 손실도 낮아짐 과대적합: 훈련 ..