본문 바로가기

AIFFLE/STUDY

(12)
[NLP] Attention 쉽게 이해하기 (Query, Key, Value, Transformer에서의 attention 3종류) 학습 내용Transformer에 대해 이해하기 위해 attention을 이해해보고자 한다.기본적인 attention의 개념에 대해 이해해본다  AttentionAttention의 개념을 쉽게 이야기 해보면 한 문장 데이터 안에 토큰들의 상관관계를 파악해서이를 통해 다음 토큰을 예측할때 (나는 -> 다음단어)유사도가 높은 단어를 선택하자는 개념이다  또, attention 하면 빠질 수 없는 개념이 Query, Key, Value의 개념인데,Query : 말그대로 쿼리(질문)이다. 이 단어와 다른 단어들의 상관관계를 알려줘!Key : 내가 질문한 값들에 대한 답을 얻기 위해 필요한 소스라 생각하면 된다Value : 이건 비유할만한게 없는거 같아서... 추후에 query와 key를 통해 구한 값을 비교하기..
[DL] 사용자 정의 훈련 스탭 (fit 메서드 커스터마이즈 하기) 학습 내용사용자 정의 훈련 스탭을 사용하는 방법을 이해한다사용자 정의 훈련 탭을 사용하는 이유를 이해한다.  사용자 정의 훈련 스텝 사용이유복잡한 모델 트레이닝 로직:기본 fit 메서드는 일반적인 훈련 루프를 제공하지만, 특별한 요구사항이 있는 경우 이를 커스터마이즈해야함.GAN(Generative Adversarial Networks)처럼 두 개 이상의 모델을 동시에 훈련시켜야 하는 경우추가적인 손실 함수를 사용하는 경우보다 세밀한 제어:훈련 프로세스를 더 세밀하게 제어하고 각 단계에서 무슨 일이 일어나는지 명확히 이해하고자 하는 경우에 유용문제를 디버깅하거나 최적화할 수 있습니다.동적 학습률 변경:학습 중 특정 조건에 따라 학습률을 동적으로 변경하거나 맞춤형 학습률 스케줄링을 적용맞춤형 손실 함수 및..
[DL] keras API (Sequential, Functional, Subclassing) 이해하기 학습 내용케라스 API 구조를 이해한다  1. Sequential API특징:순차적인 레이어 쌓기 방식으로 간단하고 직관적.단순한 네트워크 구조에 적합.예제:import tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense, Flatten, Conv2Dmodel = Sequential([ Conv2D(32, kernel_size=(3,3), activation='relu', input_shape=(28,28,1)), Flatten(), Dense(128, activation='relu'), Dense(10, activation='softmax')]) ..
평가지표 - accuracy, precision, recall, F score, PR curve, AUC-ROC 학습 내용- Loss와 Metric- Confusion Matrix 와 Precision/Recall- Threshold의 변화에 따른 모델 성능- Precision-Recall 커브- ROC 커브 Loss와 Metric loss와 metric은 단순히 수식의 차이로 설명할 수는 없다.loss과 metric은 사용되는 시점과 용도가 다르다Loss : 모델 학습시 학습데이터(train data) 를 바탕으로 계산되어, 모델의 파라미터 업데이트에 활용되는 함수Metric : 모델 학습 종료 후 테스트데이터(test data) 를 바탕으로 계산되어, 학습된 모델의 성능을 평가하는데 활용되는 함수RMSE(Root Mean Square Error) 라는 개념은 Loss 함수로도 사용되기도 하고, 회귀 모델의 Me..
[DL] 일반화 성능 향상시키기 학습 내용일반화 성능을 향상 시키기 위한 여러가지 방법에 대해 알아보자과대적합 방지기법들에 대해 알아보자  일반화 성능 극대화 + 과대적합 방지하기 위한 방법 요약훈련 데이터를 더 모음. 더 나은 데이터를 모음더 나은 특성을 개발네트워크 용량 감소(작은 모델을 만들기 위해) 가중치 규제를 추가드롭아웃 추가배치 정규화  데이터셋 큐레이션적절한 데이터셋으로 작업하고 있는지 확인하는 것이 중요데이터가 충분한지 확인입력에서 출력을 매핑하는 공간을 조밀하게 샘플링데이터가 많을 수록 좋은 모델레이블 할당 에러 최소화입력 시각화하여 이상치 확인, 레이블 교정데이터 정제, 누락된 값 처리많은 특성 중에서 어떤 것이 유용한지 확실하지 않다면 특성 선택을 수행 특성 공학데이터와 머신 러닝 알고리즘(신경망)에 관한 지식을 ..
텐서의 이해 학습 내용신경망을 위한 데이터 표현 방식인 텐서에 대해 이해한다 텐서머신 러닝의 기본 구성 요소데이터를 위한 컨테이너(container), 일반적으로 수치형 데이터를 다루므로 숫자를 위한 컨테이너임의의 차원 개수를 가지는 행렬의 일반화된 모습텐서에서는 차원(dimension)을 축이라고 부름 Scalars (rank-0 tensors)하나의 숫자만 담고 있는 텐서(numpy) 스칼라텐서(array scalar) : float32, float64 타입의 숫자축 개수(rank) : 0 (ndim == 0)# 0D Tensor(Scalar)x = np.array(1) # numpyt0 = tf.constant(1) # tensorflow Vectors (rank-1 tensors)숫자의 배열#..
머신러닝과 딥러닝 학습 내용머신러닝과 딥러닝의 개념에 대해 알아보자 머신러닝 (Machine Learning)말 그대로 '기계가 학습한다'라고 이해하는 것이 좋음 "learns" from data가 핵심기존의 CS(computer science) 방식 : input + program -> output을 내는 방식Machine Learning : input과 output을 주면 알아서 알고리즘을 찾아내는 것Algorithms that improve on some task with experience 머신러닝과 딥러닝의 차이머신러닝과 딥러닝의 가장 큰 차이는 feature 추출 과정이 학습과정에서 존재 한다딥러닝머신러닝의 한 종류로 Neural Network를 의미학습데이터와 정답과의 관계를 통해 이미지의 특징을 스스로 학습..
[Linux] 리눅스(Linux) 명령어 쉽게 찾아보기 - man, tldr 학습 내용Linux 명령어와 옵션 등을 쉽게 사용하기 위한 팁을 공유한다  Linux 명령어Linux 명령어를 통해 데이터를 다루고자 하였는데 명령어가 아직 익숙하지 않아서 이를 익히기 위해 찾아보다가 좋은 패키지를 발견해서 공유하고자 한다.먼저, 기본적으로 man를 사용할 수 있다. 예시로 cat 명령어가 어렵게 느껴져 cat 명령어에 대한 옵션과 사용법을 알고자 하였다.man cat 결국 이를 보고도 다시 실제 사용예시를 보게 되는 경우가 잦은 것 같다.그러던 와중에 tldr을 알게 되었고, 이를 활용하면 좀 더 빠르고 쉽게 command를 사용할 수 있을 것 같다는 생각이 들었다실제 실행결과는 다음과 같다. 예시까지 깔끔하게 제시되어 있어 편리하다 Tldr 패키지 설치하기 맥os 사용자 기준 ho..

반응형