[TIL] 2024-09-05 (ML/SQL)TIL (2024)/2024.092024. 9. 6. 00:07
Table of Contents
728x90
Today I Learned (2024-07-12)
목차
오늘 공부한 내용
1. KDT (DL)
MLP와 CNN 비교
- MLP (Multi-Layer Perceptron)
- 모든 노드가 서로 연결된 fully connected 구조.
- 입력과 출력 간의 관계를 학습하지만, Gradient Vanishing 문제로 인해 깊은 구조에서는 학습이 어려울 수 있다.
- 이를 해결하기 위해 ReLU, Batch Normalization 등을 사용한다.
- CNN (Convolutional Neural Network)
- 주로 이미지 데이터에서 특징을 추출하는 데 사용되며, Convolution 연산을 통해 입력 데이터의 공간적 정보를 보존하면서 특징을 효과적으로 추출한다.
- Convolution Layer, Pooling Layer, Fully Connected Layer로 구성된다.
CNN 주요 개념
- Convolution Layer:
- 커널(필터)을 사용해 특징을 추출하는 층.
- Stride와 Padding을 조절해 출력 크기를 변경할 수 있다.
- Pooling Layer:
- 주로 Max Pooling과 Average Pooling이 있으며, 데이터의 크기를 줄이면서 중요한 정보를 보존하는 역할을 한다.
- Fully Connected Layer:
- 마지막 층에서 모든 노드가 연결되어 MLP처럼 동작한다.
고급 CNN 모델
- AlexNet: 2012년 ImageNet 챌린지에서 우승한 모델로, 깊은 CNN 구조의 효용성을 입증.
- ResNet: 잔차 연결을 통해 깊은 신경망에서의 Gradient Vanishing 문제를 해결.
- Inception (GoogleNet): 여러 크기의 필터를 병렬로 적용해 다양한 특징을 추출.
- EfficientNet: CNN 구조를 효율적으로 확장하는 방법을 제안.
Fine-Tuning
- 사전 학습된 모델을 사용해 새로운 데이터셋에 적합하게 추가 학습하는 기법
- 레이어 고정(freezing)을 통해 초기 학습 단계에서 과적합을 방지할 수 있다.
조기 종료(Early Stopping)
조기 종료(Early Stopping)는 딥러닝 모델이 과적합되는 것을 방지하기 위해,검증 손실(validation loss)이 일정 에포크(epoch) 동안 더 이상 개선되지 않으면 학습을 멈추는 기법이다.
일반적으로 검증 손실이 일정 횟수만큼 감소하지 않으면, 더 이상의 학습이 성능을 향상시키지 않는다는 신호로 보고 학습을 종료한다.
이를 통해 불필요한 학습 시간을 줄이고, 모델의 과적합을 방지할 수 있다.
예시코드
from tensorflow.keras.callbacks import EarlyStopping # 조기 종료 콜백 정의 early_stopping = EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True) # 모델 학습 시 콜백 적용 history = model.fit(X_train, y_train, epochs=100, validation_data=(X_val, y_val), callbacks=[early_stopping])
ModelCheckpoint
ModelCheckpoint는 학습 도중 모델의 체크포인트를 저장하는 콜백이다.
검증 성능이 향상될 때마다 모델을 저장해, 나중에 가장 성능이 좋았던 모델을 불러와 사용할 수 있다.
예시코드
from tensorflow.keras.callbacks import ModelCheckpoint # 체크포인트 콜백 정의 model_checkpoint = ModelCheckpoint('best_model.keras', monitor='val_loss', save_best_only=True) # 모델 학습 시 콜백 적용 history = model.fit(X_train, y_train, epochs=100, validation_data=(X_val, y_val), callbacks=[model_checkpoint])
이미지 분류 모델 만들기
- 말과 사람을 분류해보자!
2. SQL
DataBase
- Database(DB) : 데이터베이스란 컴퓨터에 저장되는 데이터들의 집합, 저장소
- DBMS(DataBase Management System) : DB를 관리하는 시스템
- ex) oracle, mysql, mariadb, ms sever
- RDBMS(Relational database management system)
- 관계형 데이터베이스는 데이터들 사이의 관계를 가지는 데이터들을 다루며, 테이블 형태로 자료들을 저장.
- Primary Key : 테이블에서 row를 식별하게 해준다.
- 유일한 유일한 값
- 공백 중복 불가능
- Foreign Key(외례키) : 다든 테이블과 연결해주는 column.
- 다른 테이블의 primary key를 참조
- 공백 중복 가능
어려웠던 내용
- 딥러닝 분류하기....
궁금한 내용과 부족한 내용
- 딥러닝 모델 학습 시간을 어떻게하면 단축시킬 수 있을까
느낀 점
- 딥러닝 모델 학습시간 기다리는게 일이다...
'TIL (2024) > 2024.09' 카테고리의 다른 글
[TIL] 2024-09-07 (ML) (0) | 2024.09.08 |
---|---|
[TIL] 2024-09-06 (DL) (0) | 2024.09.07 |
[TIL] 2024-09-04 (ML) (0) | 2024.09.05 |
[TIL] 2024-09-03 (DL/ML/Bigquery) (1) | 2024.09.04 |
[TIL] 2024-09-02 (ML/Bigquery/Calculus) (2) | 2024.09.03 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!