본문 바로가기

AIFFLE/STARTER

(11)
[DL] 8. 가중치 초기화와 배치 정규화 학습 내용가중치 초기화배치 정규화 가중치 초기화(Weights Initialization)가중치 초기화는 신경망의 성능에 큰 영향을 주는 요소 중 하나입니다. 만약 가중치의 값이 일부 값으로 치우치게 되면, 활성화 함수를 통과한 값들도 치우치게 되고, 결국 표현할 수 있는 신경망의 수가 적어지는 문제가 발생합니다. 보통 가중치 초기값으로 0에 가까운 무작위 값을 사용하더라도 초기값에 따라서 모델의 성능 차이가 발생할 수 있음.모델의 활성화 값이 골고루 분포 되는 것이 중요함. 가중치 초기화 방법에 따라서 어떻게 달라지는지 살펴보기 위해 지정된 활성화 함수 activation과 초기화 initializer에 따라 모델을 생성하는 build_model 함수를 정의합니다.관련 코드 개념 2코드코드  출처참고자..
[DL] 4. 딥러닝 모델 학습 학습내용손실 함수(Loss Function) : 딥러닝 학습에서 손실 함수의 역할은 무엇인지 파악하고 각각의 손실 함수의 동작과 특징을 살펴봅니다.옵티마이저(Optimizer)와 지표 : 딥러닝 학습에서 옵티마이저의 역할은 무엇이고 딥러닝 학습의 핵심으로 볼 수 있는 경사하강법에 대해서 배웁니다.딥러닝 모델 학습 : 실습을 통해 딥러닝이 학습되는 과정을 이해하고 경험해봅니다. 1. 손실 함수학습 과정이 얼마나 잘 되고 있는지 나타내는 지표로서 낮을 수록 성능이 좋다.모델이 훈련되는 동안 최소화될 값으로 주어진 문제에 대한 성공 지표손실 함수 결과에 따라 파라미터 조정하며 학습을 진행하고 미분 가능한 함수를 사용하여야 한다.손실함수는 최적화 이론에서 최소화 하고자 하는 함수로 미분 가능한 함수를 사용Ker..
[DL] 7. 모델 크기 조절과 규제 학습 내용과대적합을 방지하기 위한 여러가지 방법에 대해 알아보자모델 크기조절, 규제, 드롭아웃에 대해 알아보자  1.  모델 크기 조절과대적합 문제를 해결하려면 모델의 크기를 조절해야 함모델 크기를 조절하는 방법은 크게 레이어의 유닛수와 레이어의 수를 조절하는 것이 있음.레이어의 유닛수를 증가 또는 감소 : 모델 전체 파라미터 수를 증가하거나 감소레이어의 수를 증가 : 더 깊은 신경망을 만들어 모델의 크기를 증가 모델 크기 조절 실험 예시데이터 로드 및 전처리먼저 모델의 학습에 사용하기 위해 원-핫 인코딩(one-hot encoding)을 위한 함수를 정의합니다.그리고 imdb.load_data()를 통해 IMDB 데이터를 다운로드한 뒤,10000 차원의 학습 데이터로 원-핫 인코딩을 수행합니다.from..
[DL] 6. 모델 학습 기술 과정 개요모델 학습 기술 모델 학습에 영향을 미칠 수 있는 요소들은 어떤 것이 있는지 살펴보고 각각에 대해 알아봅니다.과소적합과 과대적합 과소적합과 과대적합의 개념을 배우고 이를 어떻게 방지할 수 있는 방법은 어떤 것이 있는지 살펴봅니다.IMDB 딥러닝 모델 예제 앞서 다룬 내용을 어떻게 적용하는지 IMDB 예제를 통해 알아봅니다. 학습 목표딥러닝 모델 학습을 위한 다양한 개념과 기술들을 설명할 수 있습니다.모델 학습이 잘 안될 경우 발생하는 과소적합/과대적합에 대해 설명할 수 있습니다.IMDB 데이터셋을 이용해 긍정/부정 분류를 위한 딥러닝 모델을 만들어봅니다. 모델 학습 기술학습 단위전통적인 통계기법에서는 모든 데이터를 한번에 알고리즘에 넣고 분석하는 전체 배치(Full Batch) 방식을 사용전체 ..
[DL] 5. 모델 저장과 콜백 과정 개요MNIST 딥러닝 모델 예제 숫자 데이터를 분류하는 모델을 설계하고 학습시킵니다. 해당 모델은 오늘 배울 내용을 적용해볼 베이스라인이 될 것입니다.모델 저장과 로드 학습시킨 모델의 가중치를 저장하고 불러오는 방법을 학습하고 직접 실습해봅니다.콜백 (Callbacks) 학습에 관여하는 콜백 기능 중 대표적인 몇가지에 대해 알아보고 직접 실습해봅니다. 학습 목표딥러닝 모델을 저장하고 복원하는 방법에 대해서 설명할 수 있습니다.모델 학습 시에 사용할 수 있는 콜백 함수에 대해 설명할 수 있습니다.학습시킨 모델을 저장하고 관리하는 것은 모델 관리, 더 나아가 MLOps(데이터 수집부터 모델 학습, 서비스 배포까지를 포함하는 시스템) 의 시작점이라고 할 수 있습니다. 1. MNIST 모델: 손으로 쓴 숫..
[DL] 3. 딥러닝 구조와 모델 1. 딥러닝 구조모델 구조케라스에서 제공하는 API들의 구성도를 살펴보면, 크게 Model API와 Layer API가 있고 필요한 모듈들을 Modules API를 호출해서 사용합니다. 딥러닝 모델은 여러 레이어들로 구성되어 있습니다.2. 레이어(Layer) 먼저 딥러닝을 사용하는데 필요한 라이브러리인 TensorFlow와 keras를 임포트합니다. 또한 케라스(Keras)의 레이어를 사용할 수 있도록 임포트합니다.import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers딥러닝은 여러 개의 레이어(Layer)로 구성되어 있으며, 기본적으로 입력층(Input Layer), 은닉층(Hidden Layer), 출력..
[DL] 2. 텐서 표현과 연산 학습 내용텐서 : 텐서란 무엇인지, 어떤 구조로 되어있는지 등 텐서의 개념에 대해 살펴보자텐서 타입 및 변환 : 텐서에 담을 수 있는 데이터의 타입에 대해 알아보고 텐서의 형태를 어떻게 바꾸는지 알아보자텐서 연산 : 텐서 연산은 어떤 종류가 있고 어떻게 계산 할 수 있는지 살펴봅니다. 1. 텐서(Tensor)데이터를 담기위한 컨테이너(container)다차원 배열 또는 리스트 형태와 유사일반적으로 수치형 데이터를 저장하고, 동적 크기를 가짐Rank : 축의 개수Shape : 형상(각 축에 따른 차원 개수)Type : 데이터 타입 Scalars (rank-0 tensors)하나의 숫자만 담고 있는 텐서축 개수 0개import numpy as npx = np.array(12)x 1D Tensor(Vector..
[ML] 비지도학습 학습 내용비지도학습 방법에 대해 알아보자 비지도 학습타겟값(y의 값)이 없음 차원축소feature가 많을수록 데이터의 차원이 커지게 되는데, 데이터셋의 크기에 비해 feature가 많아질 경우 이를 표현하기 위한 변수가 많아져 모델의 복잡성이 증가되고 과적합 문제발생이를 방지하기 위해 차원 축소 사용차원 : 데이터 포인트를 공간에 표현하기 위해 필요한 최소한의 축의 개수 PCA(Principal Component Analysis)차원축소 (PCA)PCA(Principal Component Analysis)차원 축소 기법 중 대표적인 기법고차원에서 저차원으로 축소하는 선형 투영 기법데이터의 차원이 증가할 수록 거리가 증가하고 오버피팅 가능성이 커짐PCA 단계데이터에서 분산이 최대인 축을 찾음 (첫번째 축)..

반응형