본문 바로가기

전체 글

(15)
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 ) 일반화: 머신 러닝의 목표 최적화: 훈련 데이터에서 최고의 성능을 얻으려고 모델을 조정하는 과정 > 목표: 훈련 데이터에서 높은 성능 일반화: 훈련한 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는지를 의미 > 목표: 테스트 데이터에서 높은 성능 [과대적합과 과소적합] >> 확인 위해서는 손실, 혹은 정확도의 훈련 반복에 따른 증감을 테스트 데이터 훈련 데이터에 대해 그래프로 나타내는 것이 좋음 ( 두 그래프를 비교해 과대적합/과소적합 일어나는 지점 찾음) 과소적합: 훈련 데이터의 손실이 낮아질수록 테스트 데이터의 손실도 낮아짐 과대적합: 훈련 ..
4. 신경망 시작하기: 분류와 회귀 4-1) 영화 리뷰 분류: 이진 분류 문제 4-2) 뉴스 기사 분류: 다중 분류 문제 4-3) 주택 가격 예측: 회귀 문제 4-1) 영화 리뷰 분류: 이진 분류 문제 이진 분류: 각 입력 샘플이 2개의 배타적 범주로 구분되는 분류 작업 (YES/NO, 정상/비정상 등) 영화 리뷰 분류 from tensorflow.keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) = imdb.load_data( num_words=10000) 데이터셋 구성: 숫자로 인코딩된 리뷰, 리뷰의 긍정/ 부정 레이블 word_index = imdb.get_word_index() reverse_word_index = dict( [(value,..
3. 케라스와 텐서플로 소개 [목차] 3-1) 텐서플로란? 3-2) 케라스란? 3-3) 케라스와 텐서플로의 간략한 역사 3-4) 딥러닝 작업 환경 설정하기 3-5) 텐서플로 시작하기 3-6) 신경망의 구조: 핵심 keras API 이해하기 3-1) 텐서플로란? 텐서플로: 텐서에 대한 수학적 표현이 가능한 파이썬 기반 무료 오픈소스 머신 러닝 플랫폼 특징 - 미분 가능한 어떤 표현식에 대해서도 자동 그레이디언트 계산 가능 - GPU, TPU에서도 실행 가능 - 계산을 여러 머신에 쉽게 분산 가능 - 애플리케이션 실전 환경에 쉽게 배포 가능 3-2) 케라스란? 케라스: 텐서플로 위에 구축된 파이썬용 딥러닝 API 특징 - 어떤 종류의 딥러닝 모델도 쉽게 만들고 훈련할 수 있는 환경 제공 - 딥러닝 개발 관련 여러 함수, 메소드 지원 (..
2. 신경망의 수학적 구성 요소 [목차] 2-1) 신경망과의 첫 만남 2-2) 신경망을 위한 데이터 표현 2-3) 신경망의 톱니바퀴: 텐서 연산 2-4) 신경망의 엔진: 그레이디언트 기반 최적화 2-1) 신경망과의 첫 만남 1. 데이터셋 적재 from tensorflow.keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data() 클래스(class) : 분류 문제의 범주 샘플(sample) : 각 데이터 포인트 레이블(label) : 특정 샘플의 클래스 (예제에서 0~9는 클래스, 샘플은 이미지 데이터 하나, 레이블은 각 이미지 데이터에 해당되는 숫자 값) train_images.shape (60000, 28,..