728x90
반응형

Deep learning 6

[pytorch] 학습의 가속화를 위한 배치 정규화(Batch Normalization)

1. 입력 데이터 정규화딥러닝 모델에 입력되는 데이터는 각기 다른 범위의 값들을 포함할 수 있습니다. 예를 들어, 어떤 특성은 1에서 5 사이의 값을 가질 수 있고, 다른 특성은 1000에서 99999 사이의 값을 가질 수 있습니다. 이러한 데이터를 모델에 직접 입력하면 학습 과정에 부정적인 영향을 미칠 수 있습니다.위 이미지에서 데이터는 '몸무게'와 '키'라는 두 특성을 갖고 있어요. 몸무게의 단위는 킬로그램(kg)이며, 키의 단위는 센티미터(cm)입니다.- 왼쪽 표에서 몸무게는 60kg에서 90kg 사이고, 키는 170cm 에서 185cm 사이로 측정되어 있어요. 이러한 데이터를 기계 학습 모델에 직접 적용하면, 더 큰 숫자를 갖는 특성('키')이 모델에 더 큰 영향을 미칠 위험이 있습니다. 모델은 ..

Deep learning 2024.05.09

[Deep Learning] 인공지능의 기초: 퍼셉트론부터 인공 신경망까지

퍼셉트론의 개요 퍼셉트론은 인공 신경망(artificial neural network)의 기초적인 형태 중 하나로, 이진 분류 문제를 위한 간단한 알고리즘입니다. 입력값 (Input): 퍼셉트론은 하나 이상의 입력값을 받습니다. 이러한 값들은 각각의 특성(feature)을 나타내며, 이를 바탕으로 결정을 내립니다. 가중치 (Weights): 각 입력값에는 가중치가 부여됩니다. 이 가중치는 학습 과정에서 조절되며, 입력값의 중요도를 조절하는 역할을 합니다. 가중합 (Weighted Sum): 각 입력값과 그에 대응하는 가중치의 곱을 모두 합한 값입니다. 활성화 함수 (Activation Function): 가중합이 어느 임계값을 넘으면 퍼셉트론은 1을 출력하고, 그렇지 않으면 0을 출력합니다. 이를 결정하..

Deep learning 2024.02.06

[Deep learning] 가중치 초기화(weight initialization) (feat. Xavier, He,normal, uniform)

0. 딥러닝 모델 학습 / 모델 훈련 프로세스1. 모델 초기화(Initialization): 최초 가중치(weight) 값을 설정합니다.2. 예측(Prediction): 설정된 가중치와 입력 feature(X) 값을 사용하여 예측 값을 계산합니다.3. 손실(Loss) 계산: 예측 값과 실제 값의 차이를 계산하여 손실 값을 얻습니다.4. 가중치 업데이트(Weight Update): 손실을 최소화하기 위해 가중치를 조정합니다. 이 과정은 경사 하강법 등의 최적화 알고리즘을 사용하여 수행됩니다.1. 가중치 초기화의 중요성가중치 초기화는 딥러닝 모델을 학습시키기 위해 가중치들을 어떤 값으로 초기화할지 결정하는 중요한 단계입니다. 초기 가중치는 모델이 학습을 시작할 때의 출발점을 의미하며, 이 값들이..

Deep learning 2023.09.06

[Deep learning] 정제와 정규화 (cleaning and normalization)

코퍼스에서 용도에 맞게 토큰을 분류하는 작업을 토큰화라고 하며, 토큰화 작업 하기 전 후에 용도에 맞게 데이터를 정제 및 정규화해야 한다. 정제(cleaning) : 노이즈 데이터 제거 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만듦 정제(cleaning) 작업은 토큰화 작업에 방해가 되는 부분들을 배제시키고 토큰화 작업을 수행하기 위해서 토큰화 작업 전에 이루어지기도 하지만, 토큰화 작업 이후에도 여전히 남아있는 노이즈들을 제거하기 위해 지속적으로 이루어지기도 한다. 사실 완벽한 정제 작업은 어려운 편이라서, 대부분의 경우 이 정도면 됐다.라는 일종의 합의점을 찾기도 한다. 1. 표기가 다른 단어들의 통합 같은 의미를 갖고있음에도, 표기가 다른 단어들을 하나..

Deep learning 2023.03.03

[Deep learning] 토큰화 (Tokenization)

CountVectorizer : 입력된 문장을 토큰화(Tokenize)하여 토큰의 등장 빈도 벡터로 바꿔주는 기법 자연어 처리에서 크롤링 등으로 얻어낸 corpus(코퍼스) 데이터가 전처리되지 않은 상태라면, 해당 데이터를 사용하고자 하는 용도에 맞게 토큰화(Tokenization) & 정제(cleaning) & 정규화(normalization)를 해줘야 한다. - 토큰화(Tokenization) : 코퍼스(Corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업 - 토큰(token) : 단위가 상황의 따라 다르지만, 보통 의미 있는 단위로 토큰을 정의한다. 1. 단어 토큰화 (Word Tokenization) : 토큰의 기준을 단어로 함. 단어는 단어 단위 외에도 단어구, 의미를 갖는 문자열로..

Deep learning 2023.02.24

[Deep learning] Callback 함수

ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1) : 특정 조건에 맞춰서 모델을 파일로 저장함 filepath: filepath는 (on_epoch_end에서 전달되는) epoch의 값과 logs의 키로 채워진 이름 형식 옵션을 가질 수 있음. (ex. weights.{epoch:02d}-{val_loss:.2f}.hdf5) monitor: 모니터할 지표(loss 또는 평가 지표) save_best_only: 가장 좋은 성능을 나타내는 모델만 저장할 여부 save_weights_only: Weights만 저장할 지 여부 (True..

Deep learning 2023.02.06
728x90
반응형