딥러닝(10)
-
Ch12
생성 모델을 위한 딥러닝지금까지 학습해온 딥러닝을, 예술 창작에 어떻게 쓰일 수 있는지 다양한 각도에서 살펴보자.텍스트 생성시퀀스 데이터 생성하기순환 신경망으로 시퀀스 데이터를 생성하는 방법을 알아보자.딥러닝에서 시퀀스 데이터를 생성하는 일반적인 방법은 이전 토큰을 입력으로 사용해서 시퀀스의 다음 1개 또는 몇개의 토큰을 예측하는 것이다.이전 토큰들이 주어졌을 때 다음 토큰의 확률을 모델링할 수 있는 네트워크를 언어 모델(language model) 이라고 부른다. 언어 모델은 언어의 통계적 구조인 잠재 공간을 탐색한다.언어 모델을 훈련하고 나면 이 모델에서 샘플링을 진행한다. 초기 텍스트 문자열(즉, 조건 데이터(conditioning data) ) 를 주입하고 새로운 글자나 단어를 생성한다. 생성된 ..
2024.07.07 -
Ch11
자연어 처리 소개자연어란?한국어나 영어 같은 사람의 언어를 어셈블리어, LISP, XML 과 같은 기계를 위해 고안된 언어와 구별하기 위해 자연어(natural language)라고 부른다.자연어는 복잡하고, 모호하고, 불규칙하고, 끊임없이 변화한다. 자연어를 이해할 수 있는 알고리즘을 만드는 것은 큰 일이며, 텍스트는 사람의 의사소통을 위해 만들어졌기 때문에 이를 이해하는 능력을 기계가 달성하기에는 어려움이 있었다.초기에는 LISP의 규칙 집합을 작성하는 것처럼 영어의 규칙 집합을 작성할 수 있을 것이라고 생각하여 응용 언어학(applied linguistics) 의 입장에서 시도되었으나, 언어는 규칙에 맞게 쉽게 체계화할 수 없었다. 이 때 나타난 것이 챗봇과 기계번역 수행 등이였다.시간이 지나 19..
2024.06.30 -
Ch9
Conv2DTranspose layer를 이용한 Image Segmentation Baseline 구현Image Classification으로는 MaxPooling이 괜찮지만, Image Segmentation Task에서는 Stride가 2인게 Down Sampling시에 괜찮다.1. 세가지 주요 컴퓨터 비전 작업이미지 분류(Image Classification)이미지 분할(Image Segmentation)객체 탐지(object detection)또한 컴퓨터 비전을 위한 딥러닝을 위 세 가지 이외에도 여러 가지 틈새 분야에 해당하는 작업이 있습니다. 예를 들어 이미지 유사도 평가(image similarity scoring)(두 이미지가 시각적으로 얼마나 비슷한 지 추정하기), 키포인트 감지(keyp..
2024.05.23 -
Ch8
8.1 합성곱 신경망 - CNN 소개다음 코드는 2장에서 밀집 연결 신경망(densely connected network)으로 풀었던 MNIST 숫자 이미지 분류에 CNN(컨브넷)을 사용한 예제간단하게 만들었음에도 기존의 밀집 연결 신경망층의 정확도인 97%의 정확도를 99.3% 테스트 정확도로 앞지름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..
2024.05.20 -
Ch7
7.1 다양한 워크플로케라스 API 설계는 복잡성의 단계적 공개(progressive disclosure) 원칙을 따름시작은 쉽게 하고, 필요할 때 단계마다 점진적으로 학습하여 아주 복잡한 경우를 처리할 수 있음간단한 문제는 누구나 쉽게 처리할 수 있어야 하지만 어떤 고급 워크플로도 가능해야 함원하는 작업이 얼마나 복잡하고 드문 경우인지에 상관없이 이를 달성하기 위한 명백한 방법이 있어야 함이런 방법은 간단한 워크플로에서 배운 것을 기반으로 함이는 초보자에서 전문가로 성장하면서 동일한 도구를 그대로 사용할 수 있다는 의미다만 사용 방법만 달라질 뿐케라스를 사용하는 '올바른' 한 가지 방법이 있는 것이 아님케라스는 매우 간단한 것부터 매우 유연한 것까지 다양한 워크플로를 제공케라스 모델을 만드는 방법은 여..
2024.05.12 -
Ch6
일반적인 머신 러닝 워크플로keras.datasets에서 원하는 데이터를 추출하여 딥러닝 모델을 훈련할 수 있다면 매우 편리하겠지만, 실전에서는 이러한 편리한 툴은 존재하지 않는다. 일반적인 머신러닝 워크플로는 크게 세 부분으로 구성된다.작업정의 : 문제 영역과 고객의 요청 이면에 있는 비즈니스 로직을 이해한다. 이에 따라 데이터를 수집하고, 데이터가 드러내는 내용을 이해하고 작업의 성공을 측정하는 방법을 선택한다.모델개발 : 머신러닝 모델로 처리 가능하게끔 데이터를 변환하고 모델 평가방법과 평가에 대한 기준점을 선택하고, 일반화 성능을 가지며 과대적합가능한 첫 모델을 훈련한다. 그 후 가능한 최대의 일반화 성능에 도달할 때 까지 모델을 튜닝한다.모델배포 : 작업 결과를 고객에게 제시한 후 모델을 웹 서..
2024.05.05