누구나 혼자서 공부할 수 있는 딥러닝 교재
-
python 기초 (jupyter와 colab 사용법) : jupyter_and_colab.md
-
기본 linux 명령어 : linux.md
-
윈도우 환경에서 linux command HowTo : how_to_linux_command_on_windows.md
-
Ubuntu 서버 설치하기(다소 오래된) : 2019-10-17_setup_server.pdf
-
GCP에 VM생성하고 Colab 연결하기 : GCP_VM_and_Colab.pdf
-
GCP에 VM 생성하고 Colab 연결하기 : create_GCP_VM.pdf
-
GCP에 VM 생성하고 Colab 연결 : GCP_VM_and_Colab.pdf
- 딥러닝을 위한 Pandas : pandas_for_deep_learning.ipynb
- 딥러닝을 위한 Numpy : numpy_for_deep_learning.ipynb
- 딥러닝을 위한 Matplot : matplot_for_deep_learning.ipynb
-
인공지능 개념 및 동작 원리의 이해 : deep_learning_intro.pptx
- Perceptron, MLP, DNN 소개
- DNN의 학습 이해
- AI, 머신러닝, 딥러닝의 이해
- 딥러닝 상세 기술 이해
-
흥미로운 딥러닝 결과 : some_interesting_deep_learning.pptx
-
Keras로 구현한 딥러닝 #1 : dnn_in_keras.ipynb
- 표준 Keras 딥러닝 코드
- 로스 보기
- 은닉층과 노드 수
- trian, test 데이터 분리
- batch size와 학습
- 데이터 수와 학습
-
Keras로 구현한 딥러닝 #2 : dnn_in_keras.ipynb
- 모델 저장과 로딩
- 학습되지 않는 랜덤 함수
- Optimizer
- 다양한 입출력
-
기타 Keras
- callback : dnn_in_keras_callback.ipynb
- overfitting 처리 : dnn_in_keras_overfitting.ipynb
- overfitting 처리 실습 : for_overfitting_treating.ipynb
-
ML Classifiers : ML_classifiers.ipynb
-
분류기로서의 DNN
- 속성 데이터 IRIS 분류 실습 : dnn_iris_classification.ipynb
-
영상 데이터의 이해 : deep_learning_intro.pptx
-
영상 분류기로서의 DNN
- 흑백 영상 데이터 MNIST 분류 실습 : dnn_mnist.ipynb
- 흑백 영상 fashion MNIST 분류 : dnn_fashion_mnist.ipynb
-
영상 분류기로서의 CNN
- CNN의 이해 : deep_learning_intro.pptx
- 흑백 영상 데이터 MNIST 영상분류 : cnn_mnist.ipynb
- CIFAR10 컬러영상분류 : cnn_cifar10.ipynb
-
영상 예측 CNN : template_image_data_vanilla_cnn_regression.ipynb
-
데이터 증강 : data_augmentation.ipynb
-
전이학습
-
커스텀 데이터 VGG 데이터 분류 실습
-
영상 예측 : template_image_data_transfer_learning_regression.ipynb
-
Keras Functional API : functional_api.ipynb
-
AutoEncoder
- AutoEncoder 실습 : autoencoder.ipynb
- 디노이징 AutoEncoder : denoising_autoencoder.ipynb
- Super Resolution : mnist_super_resolution.ipynb
- inpainting : inpainting_autoencoder.ipynb
- 이상탐지
- mnist : anomaly_detection_using_autoencoder.ipynb
- fashion mnist : anomaly_detection_fahsion_mnist.ipynb
-
영상 분할(Segementation)
- U-Net을 사용한 영상 분할 실습 : unet_segementation.ipynb
- M-Net을 사용한 영상 분할 실습 : mnet_segementation.ipynb
- U-Net을 사용한 컬러 영상 분할 실습 : unet_segementation_color_image.ipynb
- 실습 자료 : MRI_images.zip
-
물체 탐지
-
YOLO 설명 자료 : https://docs.google.com/presentation/d/1aeRvtKG21KHdD5lg6Hgyhx5rPq_ZOsGjG5rJ1HP7BbA/edit
-
darknet으로 물체 탐지 : object_detection_yolo_darknet.ipynb
-
keras로 물체 탐지 : keras_yolov3.ipynb
-
커스텀 데이터
- raccon 데이터 : Raccoon.zip
- 랩탑 데이터 : https://github.com/dhrim/deep_learning_data/blob/master/laptops.zip
- raccoon 데이터 학습 : train_yolov3_raccoon_train.ipynb
- raccon 데이터 탐지 실행 : keras_yolov3_custom_model.ipynb
- 얼굴 탐지 : face_recognition_with_2_models.ipynb
-
레이블링 툴
-
레이블링 방법
- 레이블링 가이드 by labelImg : yolo_labeling_guide.pdf
- 레이블링 가이드 by makesense : yolo_labeling_guide_by_makesense.pdf
-
물체 탐지 적용 예
-
-
영상 검색
- 영상 검색 - by CNN : image_search_by_CNN.ipynb
- 영상 검색 - by Conv AutoEncoder : image_search_by_ConvAutoEncoder.ipynb
- 영상 검색 - by 샴 네크웤 : image_search_by_siamese_network.ipynb
- 실습 데이터 : BMW car data : http://ai.stanford.edu/~jkrause/car196/bmw10_release.tgz (10개 폴더에 이미지들)
-
소리 검색
- 소리 검색 - urban sound : sound_search_urban_sound.ipynb
- 소리 검색 - enviroment sound : sound_search_urban_sound.ipynb
-
DNN regression. boston 집값 예측 : boston_house_price_regression.ipynb
-
순차열 데이터
- 순차열 데이터의 이해 : deep_learning_intro.pptx
- RNN의 이해 : deep_learning_intro.pptx
- 단일 숫자열 예측 : template_numeric_sequence_data_prediction.ipynb
- 단일 숫자열 분류 : template_numeric_sequence_data_classification.ipynb
- 다중 숫자열 분류 : template_multi_numeric_sequence_data_classification.ipynb
- 다중 숫자열 다중 예측 : template_multi_numeric_sequence_data_multi_prediction.ipynb
- 다중 숫자열 단일 예측 : template_multi_numeric_sequence_data_one_prediction.ipynb
-
GAN
- GAN의 이해 : deep_learning_intro.pptx,
- 이상탐지 관련 GAN 설명 : deep_learning_anomaly_detection.pptx
- GAN을 사용한 MNIST 학습 실습 : wgan_gp_mnist.ipynb
- Conditional GAN의 이해 : anomaly_detection_using_gan.pptx
- Cycle GAN의 이해 : cycle_gan.pdf
- GAN의 이해 : deep_learning_intro.pptx,
-
강화학습 이해하기 : deep_learning_intro.pptx
-
알파고 이해하기 : understanding_alphago.pptx
-
기타 활용
- 얼굴 인식 : face_recognition_with_2_models.ipynb
- 포즈 추출 : open_pose_using_template.ipynb
- web cam + colab 실시간 포즈 추출 : tf_pose_estimation_with_webcam.ipynb
- CM, ROC, AUC : roc_auc_confusion_matric.ipynb
## 딥러닝 활용 사례 - [의학논문 리뷰](https://docs.google.com/presentation/d/1SZ-m4XVepS94jzXDL8VFMN2dh9s6jaN5fVsNhQ1qwEU/edit) - 흥미로운 딥러닝 결과 : [some_interesting_deep_learning.pptx](./material/deep_learning/some_interesting_deep_learning.pptx) - yolo를 사용한 실시간 불량품 탐지 : https://drive.google.com/file/d/194UpsjG7MyEvWlmJeqfcocD-h-zy_4mR/view?usp=sharing - YOLO를 사용한 자동차 번호판 탐지 : https://drive.google.com/file/d/1jlKzCaKj5rGRXIhwMXtYtVnx_XLauFiL/view?usp=sharing - 딥러닝 이상탐지 : [deep_learning_anomaly_detection.pptx](./material/deep_learning/deep_learning_anomaly_detection.pptx) - GAN을 사용한 생산설비 이상 탐지 : [anomaly_detection_using_gan.pptx](./material/deep_learning/anomaly_detection_using_gan.pptx) - GAN을 사용한 MNIST 이상 탐지 : [anomaly_detection_mnist_using_wgan_gp.ipynb](./material/deep_learning/anomaly_detection_mnist_using_wgan_gp.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dhrim/2022_WISET/blob/main/material/deep_learning/anomaly_detection_mnist_using_wgan_gp.ipynb) - 이상탐지 동영상 : [drillai_anomaly_detect.mp4](./material/deep_learning/drillai_anomaly_detect.mp4) - 훌륭한 논문 리스트 : https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap - online CNN 시각화 자료 : https://poloclub.github.io/cnn-explainer/ - GradCAM : [grad_cam.ipynb](./material/deep_learning/grad_cam.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/dhrim/2022_WISET/blob/main/material/deep_learning/grad_cam.ipynb) - 서버 설치 기록 : [2019-10-17_setup_server.pdf](./material/env/2019-10-17_setup_server.pdf)
- TensorFlow 홈 tutorial에서 스타일 변환 : https://www.tensorflow.org/tutorials/generative/style_transfer?hl=ko
-
속성 데이터
-
영상 데이터
- 예측 - vanilla CNN : template_image_data_vanilla_cnn_regression.ipynb
- 예측 - 전이학습 : template_image_data_transfer_learning_regression.ipynb
- 분류 - vanilla CNN : template_image_data_vanilla_cnn_classification.ipynb
- 분류 - 전이학습 : template_image_data_transfer_learning_classification.ipynb
- 2진 분류 - vanilla CNN : template_image_data_vanilla_cnn_binary_classification.ipynb
- 2진 분류 - 전이학습 : template_image_data_transfer_learning_binary_classification.ipynb
-
순차열 데이터
- 숫자열
- 단일 숫자열 예측 : template_numeric_sequence_data_prediction.ipynb
- 단일 숫자열 분류 : template_numeric_sequence_data_classification.ipynb
- 다중 숫자열 분류 : template_multi_numeric_sequence_data_classification.ipynb
- 다중 숫자열 다중 예측 : template_multi_numeric_sequence_data_multi_prediction.ipynb
- 다중 숫자열 단일 예측 : template_multi_numeric_sequence_data_one_prediction.ipynb
- 문자열
- 단어열
- 단어열 분류 : template_word_sequence_data_classification.ipynb
- 단어열 예측 : template_word_sequence_data_prediction.ipynb
- 한글 단어열 분류 : template_korean_word_sequence_data_classification.ipynb
- Bert를 사용한 한글 문장 간 관계 분류 : korean_sentence_relation_classification_with_bert.ipynb
- Bert를 사용한 한글 문장 간 관계값 예측 : korean_sentence_relation_regression_with_bert.ipynb
- 숫자열
- 성능 개선 개요 : deep_learning_intro.pptx
- 오버피팅 처리 : dnn_in_keras_overfitting.ipynb
- 데이터 수와 성능 : data_count_and_overfitting.ipynb
- weight 초기화와 성능 : dnn_in_keras_weight_init.ipynb
- normalization과 성능 : normalization_and_performance.ipynb
- 불균등 데이터 처리 : treating_imbalanced_data.ipynb
- K-Fold : k_fold.ipynb
- IMDB 분류에 적용 : treating_overfitting_with_imdb.ipynb
- MNIST CNN에 callback과 오버피팅 처리 적용 : boston_house_price_regression.ipynb
-
얼굴 인식
- 얼굴 위치 탐지 실습 : track_faces_on_video_realtime.ipynb
- 얼굴 감정 분류 실습 : face_emotion_classification.ipynb
-
영상 데이터
- 화재 영상 분류 : fire_scene_classification.ipynb
- wafer map 영상 분류 : real_practice_classify_semiconductor_wafermap.ipynb
- 엔진 블레이드 영상 분류 : engine_blade_classification.ipynb
- 고양이 안경 씌우기 : cat_with_glasses.ipynb
-
속성 데이터
- 심리설문 데이터 분류 : real_practice_psychologial_test_classification.ipynb
-
시계열 데이터
- 시계열 데이터 처리 : treating_sequence_data.ipynb
- 시계열 데이터 예측 : weather_forecasting.ipynb
- 시계열 데이터 분류 : real_practice_classify_semiconductor_time_series_data.ipynb
- 음성 데이터 분류 : 20220629_classification_voice.ipynb
- 시계열 곡물데이터 : financial_data_predict_commodity_price.ipynb
-
문자열 데이터
- RNN을 사용한 다음 문자 생성 : rnn_next_character_prediction.ipynb
- RNN을 사용한 덧셈 결과 생성 : seq2seq_addition_using_rnn.ipynb
- RNN을 사용한 덧셈 결과 분류 : rnn_addition_text_classication.ipynb
- Bert를 사용한 다음 단어 예측 : next_word_prediction.ipynb
-
Dacon 데이터
- 글자에 숨겨진 MNIST 영상 분류 : classification_hidden_mnist_in_lettern.ipynb
- 와인 속성 데이타 품질 분류 : classification_wine_quality.ipynb
- class_wieght : howto_class_weight_for_imbalancing.ipynb
- boston dynamics 1 : https://www.youtube.com/watch?v=_sBBaNYex3E
- boston dynamics 2 : https://www.youtube.com/watch?v=94nnAOZRg8k
- cart pole : https://www.youtube.com/watch?v=XiigTGKZfks
- bidirectional RNN : https://towardsdatascience.com/understanding-bidirectional-rnn-in-pytorch-5bd25a5dd66
- alphago architecture : https://medium.com/applied-data-science/alphago-zero-explained-in-one-diagram-365f5abf67e0
- u-net architecture : https://machinelearningmastery.com/how-to-implement-pix2pix-gan-models-from-scratch-with-keras/
- upsampling : https://kharshit.github.io/blog/2019/02/15/autoencoder-downsampling-and-upsampling
- Denseness architecture : https://hoya012.github.io/blog/DenseNet-Tutorial-1/
- K-fold cross validation : https://m.blog.naver.com/PostView.nhn?blogId=dnjswns2280&logNo=221532535858&proxyReferer=https:%2F%2Fwww.google.com%2F
- M-net architecture : https://hzfu.github.io/proj_glaucoma_fundus.html
- yolo 적용 예 블로그 : https://nero.devstory.co.kr/post/pj-too-real-03/
- GAN 위조 지폐 : http://mrkim.cloudy.so/board_KBEq62/175378
- GAN paper : https://arxiv.org/pdf/1406.2661.pdf
- Gan paper count : https://blog.naver.com/PostView.nhn?blogId=laonple&logNo=221201915691
- Conditional gan face generation example. https://github.com/Guim3/IcGAN
- Pinpointing example : https://www.geeks3d.com/20180425/nvidia-deep-learning-based-image-inpainting-demo-is-impressive/
- 동영상 스타일 변환 : https://www.youtube.com/watch?v=Khuj4ASldmU
- 얼굴 감정 인식 예 : http://www.astronomer.rocks/news/articleView.html?idxno=86084
- Papers with code : https://paperswithcode.com/
Environment
jupyter
colab
usage
!, %, run
GCP virtual machine
linux
ENV
command
cd, pwd, ls
mkdir, rm, cp
head, more, tail, cat
util
apt
git, wget
grep, wc, tree
tar, unrar, unzip
gpu
nvidia-smi
python
env
python
interactive
execute file
pip
syntax
variable
data
tuple
list
dict
set
loop
if
comprehensive list
function
class
module
import
libray
numpy
load
operation
shape
slicing
reshape
axis + sum, mean
pandas
load
view
operation
to numpy
seaborn
charts
matplot
plot
scatter
hist
multi draw
show image
Deep Learning
DNN
concept
layer, node, weight, bias, activation
cost function
GD, BP
data
x, y
train, validate, test
shuffle
learning curve : accuracy, loss
tuning
overfitting, underfitting
dropout, batch normalization, regularization
data augmentation
Transfer Learning
type
supervised
unsupervised
reinforcement
model
CNN
vanilla, named CNN
RNN
GAN
task
Classification
Object Detection
Generation
Segmentation
Pose Extraction
Noise Removing
Super Resolution
Question answering
Auto Captioning
data type
attribute data
image data
natural language data
time series data
TensorFlow/Keras
basic frame
data preparing
x, y
train, valid, test
normalization
ImageDataGenerator
fit
evaluate
predict
model
activation function
initializer
tuning
learning rate
regularizer
dropout
batch normalization
save/load
compile
optimizer
loss
metric