Skip to content

Deep learning

딥 러닝(Deep learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습(machine learning) 알고리즘의 집합 으로 정의 되며, 큰틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야라고 이야기 할 수 있다.

Categories

Audio/Music

수학적 배경

멀티 모달

  • ONE-PEACE - 무제한 멀티 모달리티를 위한 일반 표현 모델
  • ImageBind - Meta의 멀티모달 AI모델

Computer Vision Libraries

Format

  • Lance - ML 워크플로우에 최적화된 최신 Columnar 데이터 포맷

Tools

  • What-If Tool - 최소한의 코딩으로 훈련 된 기계 학습 모델의 동작을 시각적으로 조사합니다.
  • Gradio - 3분 만에 Python으로 기계 학습 모델용 UI 만들기
  • UpTrain - ML 모델을 관찰하기 위한 오픈 소스 도구
  • Tsai - 시계열 및 시퀀스를 위한 오픈소스 딥러닝 라이브러리
  • Netron - 신경망, 딥러닝 및 머신러닝 모델을 위한 시각화 도구.
  • Preswald - AI 데이터 앱을 위한 오픈소스 프레임워크

Deep neural network

심층 신경망(Deep Neural Network, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다. 심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다. 예를 들어, 사물 식별 모델을 위한 심층 신경망 구조에서는 각 객체가 이미지 기본 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모여진 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.

딥모델 적용분야 비교

-

Deep belief network

Convolutional neural network

Deep hyper network

감독/무감독

감독/무감독

<span style="color:red;">감독

감독/무감독

변별/생성 모델

생성

<span style="color:red;">변별

생성

예측/모듈이해

예측++/<span style="color:red;">모듈-

<span style="color:red;">예측+++/모듈+

예측+/<span style="color:red;">모듈+++

추론 가능성

추론++

추론-

<span style="color:red;">추론++++

연결성

Full/Compact

Partial/Convolved

Partial/Sparse

깊이

깊이+++

<span style="color:red;">깊이++++

깊이++

배치/온라인 학습

배치

배치

<span style="color:red;">온라인

DeepStream SDK 참조:

애플리케이션

모델

추적기

추론 분해능

정밀도

사람 감지

PeopleNet-ResNet34 (버전 2.5)

추적기 없음

960x544

INT8

사람 감지

PeopleNet-ResNet34 (버전 2.5)

NvDCF

960x544

INT8

차량 번호판 인식

TrafficCamNet
LPDNet
LPRNet

NvDCF

960x544
640x480
96x48

INT8
INT8
FP16

3D 신체 포즈 추정

PeopleNet-ResNet34 BodyPose3D

NvDCF

960x544
192x256

INT8
FP16

액션 인식

ActionRecognitionNet (3DConv)

추적기 없음

224x224x3x32

FP16

Hardware (GPU) select

하드웨어 선택에 대한 참고사항은 이 곳을 참조.

딥러닝을 위해 어떤 GPU를 골라야 할까?

  • GPU는 어떻게 동작하는가 ?
  • 딥러닝 처리속도를 위해 가장 중요한 GPU스펙
    • 텐서 코어
    • 메모리 대역폭
    • L2 캐시 / 공유 메모리 / L1 캐시 / 레지스터
  • Ada / Hopper 딥러닝 성능 추정
  • RTX40 / RTX30 시리즈의 장점 및 문제점
  • GPU들의 Raw한 성능 순위
  • GPU 딥러닝 퍼포먼스 per 달러
  • GPU 추천 (추천 차트로 보기)
    • 현재것을 스킵하고 차세대를 구매한다면? GPU의 미래
  • Q&A
    • PCIe 4.0 / PCIe 5.0이 필요한가 ?
    • 8x/16x PCIe 레인이 필요한가 ?
    • RTX 4090 / 3090이 3개의 PCIe 슬롯을 차지한다면 어떻게 4개를 꼽을수 있을까 ?
    • 4개의 RTX 4090 / 3090 를 어떻게 냉각할까 ?
    • 서로 다른 GPU 타입들 여러개를 사용가능한가 ?
    • NVLink는 뭐고, 유용한가 ?
    • 추천하는 가장 싼 GPU만큼도 돈이 없다면 뭘 추천할 것인가 ?
    • GPU의 탄소배출량은 얼마인가? 환경을 해치지 않고 GPU를 사용하려면 ?
    • 두대의 머신을 병렬화 하려면 뭐가 필요한가?
    • 멀티 GPU 셋업을 위해서 인텔 CPU가 필요한가 ?
    • 냉각하는데 케이스 디자인이 상관있나 ?
    • AMD GPU + ROCm 이 NVIDIA GPUs + CUDA를 따라 잡을수 있을까 ?
    • 어떨때 클라우드 또는 전용 데스크탑/서버를 사용하는 것이 좋은가

7 Steps for becoming Deep Learning Expert

딥러닝 전문가가 되기 위한 7단계

Level 1
The first step is to understand Machine learning, the best resource for which is Andrew Ngs (Ex-Google, Stanford, Baidu), an online course at coursera34. Going through the lectures are enough to understand the basics, but assignments take your understanding to another level.
Level 2
Next step is to develop intuition for Neural Networks. So go forth, write your first Neural Network and play with it.
Level 3
Understanding Neural networks are important, but simple Neural Networks not sufficient to solve the most interesting problems. A variation - Convolution Neural Networks work really well for visual tasks. Standord lecture notes and slides on the same are here: CS231n Convolutional Neural Networks for Visual Recognition (notes), and CS231n: Convolutional Neural Networks for Visual Recognition (lecture slides). Also here and here are two great videos on CNNs.
Level 4
Next step is to get following for running your first CNN on your own PC.
  • Buy GPU and install CUDA
  • Install Caffe and its GUI wrapper Digit
  • Install Boinc (This will not help you in Deep Learning, but would let other researchers use your GPU in its idle time, for Science)
Level 5
Digit provides few algorithms such as - LeNet for character recognition and GoogLeNet for image classification algorithms. You need to download dataset for Lenet and dataset for Googlenet to run these algorithms. You may modify the algorithms and try other fun visual image recognition tasks, like we did here.
Level 6
For various Natural Language Processing (NLP) tasks, RNNs (Recurrent Neural Networks) are really the best. The best place to learn about RNNs is the Stanford lecture videos here. You can download Tensorflow and use it for building RNNs.
Level 7
Now go ahead and choose a Deep Learning problem ranging from facial detection to speech recognition to a self-driving car, and solve it.

머신러닝 연구자들을 위한 제언

이 글은 머신러닝 연구를 막 시작한 학생들과 풋내기 연구자들을 대상으로, 연구를 하면서 발생하는 여러 가지 실수들을 방지하는 데에 도움을 주고자 작성되었습니다. 이 글이 다른 많은 머신러닝 튜토리얼과 다른 점은, 이 글에서 소개하는 내용은 학계에서 머신러닝 연구를 하는 사람들을 주 독자로 한다는 점입니다. 즉, 연구 내용을 논문으로 출판하기 위해 실험 결과를 엄격하게 평가하고 정당하게 비교해야하는 사람들을 대상으로 합니다.

  1. 모델을 만들기 전에 해야할 일
    1. 데이터를 살펴보세요
    2. 모든 데이터를 보지 마세요
    3. 충분히 많은 데이터를 확보하세요
    4. 도메인 전문가들과 소통하세요
    5. 많은 사전 조사를 하세요
    6. 모델이 배포되는 상황을 고려하세요
  2. 신뢰할 수 있는 모델을 만드는 방법
    1. 테스트 데이터의 정보가 유출되지 않게 하세요
    2. 다양한 모델을 사용해보세요
    3. 부적절한 모델 사용하지 않기
    4. 하이퍼파라미터를 최적화하세요
  3. 모델을 올바르게 평가하는 방법
    1. 적절한 테스트 데이터를 사용하세요
    2. 검증 데이터를 사용하세요
    3. 모델을 여러 번 평가하세요
    4. 불균형한 데이터에는 정확도를 사용하지 마세요
  4. 모델을 공정하게 비교하는 방법
    1. 더 큰 숫자가 더 좋은 모델을 의미하지 않습니다
    2. 커뮤니티 벤치마크를 신뢰하지 마세요
  5. 결과를 보고하는 방법
    1. 결과를 투명하게 공개하세요
    2. 여러가지 방법으로 성능을 측정하세요
    3. 데이터를 넘어선 일반화를 하지 마세요

2015년

세계에서 가장 영향력있는 머신러닝 학회를 꼽으라면 그 중 하나로 NIPS (Neural Information Processing Systems)를 꼽을 수 있을텐데요, 최근 NIPS에선 아주 많은 논문들이 딥러닝과 관련하여 출판되고 있습니다. 이 글은 한 참석자가 NIPS2015에서 느낀 딥러닝에 대한 10가지 트렌드를 밝힌 글을 (대충) 번역한 글입니다.

  1. 뉴럴넷의 구조가 점점 복잡해지고 고도화되고있다.
  2. 쩌는 작업들은 대부분 LSTM을 포함하고 있었다.
  3. 주목(attention) 모델이 나타났다.
  4. Neural Turing Machine은 여전히 흥미롭지만 아직 실제 작업엔 잘 쓰이지 않았다.
  5. 비전과 자연어처리는 더이상 다른 분야가 아니다.
  6. 변수형태의(symbolic) 미분은 더욱 중요해졌다.
  7. 놀라운 결과는 뉴럴넷 모델 압축과 함께 일어난다.
  8. 딥러닝과 강화학습의 결합은 계속된다.
  9. 만약에 batch normalization을 하지 않고있다면, 꼭 해야한다.
  10. 뉴럴넷 연구는 상품화가 매우 긴밀히 연결되어 진행된다.

2018년

On the Developer News Center, we cover everything from AI, robotics, autonomous vehicles, to high-performance computing. This year we highlighted over 300 stories that show how NVIDIA technology can help developers do their life’s work. Here are the most popular stories of the year.

  1. AI Algorithm Can Read Your Mind
  2. NVIDIA Invents AI Interactive Graphics
  3. Transforming Standard Video Into Slow Motion with AI
  4. AI Can Fix Your Grainy Photos (Noise reduction)
  5. New AI Imaging Technique Reconstructs Photos (Image restoration)

2019년

2020년

2021년

2022년

  • Deep Learning Is Hitting a Wall - 딥러닝은 한계에 직면했다
    • 글에서 설명하는 한계들은 : GPT-3는 문장을 이해하지 못하고 그저 자연스럽게 이어가는 데에 초점에 맞춰져있음. 테슬라의 자율 주행 모델은 STOP 표지판을 든 사람을 구분하지 못함. 눈에 파묻힌 버스를 제설차로 분류함. 이 원인은 딥러닝이 생각하는 게 아니라 암기한 다음 분류하는 것이기 때문.
    • 그렇기에 치명적이지 않고 이미 결정된 분야에 대해서, 다음 결과를 예측할 수 있는 분야에서는 딥 러닝이 탁월한 효과를 보이지만. 그러지 못하는 영역에서는 문제가 많음. 글쓴이는 NetHack을 예로 듬. 해당 게임을 플레이해서 클리어하는 AI를 고전적인 AI와 딥러닝 AI. 두 가지로 테스트를 했고. 고전적인 AI가 더 탁월한 성능을 보였음.
    • 고전적인 AI, 심볼 AI는 의미를 이해하고 진행할 수 있었음. 그렇기에 새로운 패턴이 등장해도 빠르게 대응함. 하지만 딥러닝은 기존 것에서 빈 것들을 분류하는데에는 유용하지만. 자동 생성되는 던전을 잘 해치우지는 못했음. 왜냐면 그게 무슨 의미를 가지는지는 알 수 없기 때문에.
    • 글쓴이가 대안으로 제시한 건 하이브리드 AI. (참고 : AI의 과거를 통해 AI의 미래를 본다 - MIT Technology Review) 고전 AI의 심볼 분석과 정의가능한 규칙들로 딥러닝 AI의 한계를 극복하는 것임. 이렇게 하면 내부 동작 원인을 통제할 수 있을 것이고 부분적인 관계와 전체적인 관계를 좀 더 정확하게 다룰 수 있음.
    • 이런 AI는 단지 글쓴이의 주장 속에만 있는게 아니라 알파고와 AlphaFold2도 하이브리드 AI. 다른 기업들도 그런 방향으로 가고 있음.
  • 2022년 AI의 현재를 보여주는 그래프 12개 (2022 AI Index Report)

2023년

회사에서 (2024-02-06) 지금까지 트랜드 및 진행 방향 등 리뷰받은 내용

ERTI

딥 러닝 이후 AI 알고리즘 트렌드-ETRI-2018.12.31.pdf
AI_Algorithm_Trends_After_Deep_Learning_-_ETRI-2018.12.31.pdf

NVIDIA DEVELOPER - Top 5 AI Stories of the Week

  • NVIDIA DEVELOPER CENTER - Search Results for: AI Stories of the Week
  • NVIDIA’s Top 5 AI Stories of the Week: 4/22
    • AI Model Can Recommend the Optimal Workout
    • AI Helps Improve the Shopping Experience
    • OpenAI Releases MuseNet: AI Algorithm That Can Generate Music
    • AI Research Could Help Improve Alexa’s Speech Recognition Model by 15%
    • AI Can Interpret and Translate American Sign Language Sentences
  • The Top 5 AI Stories of the Week: 1/28
    • Oak Ridge National Laboratory Installs Two NVIDIA DGX-2 Systems
    • New App Uses AI to Enable Users to Explore Sneakers In AR
    • Video Series: Mixed-Precision Training Techniques Using Tensor Cores for Deep Learning
    • AI Researchers Pave the Way For Translating Brain Waves Into Speech
    • NVIDIA GPUs Help Developers’ Score $1 Million Prize For Improving Zillow’s Zestimate

Deep Learning for Visual SLAM

Deep Learning for RANSAC

3D Deep learning

Image

Deep learning frameworks

Compare

가장 큰 차이는 static (computational)graph이냐 dynamic (computational)graph이냐에 있다.

TF의 경우 static grpah를 구축한다. 매 iteration 단계에서 기존에 구축된 정적인 동일한 computational graph에 sess.run방식으로 동작(FP)시킨다.

PyTorch의 경우 dynamic graph를 사용한다. 주된 차이는 매 iteration을 통해 수행되는 FP에서 새로운 computational graph를 생성하는 것에 있다.

최종적인 코드로는 유사하지만 각각의 장단이 있다.

Static Graph

Graph 최적화
static graph는 일단 graph를 구축하면, 동일한 그래프를 반복적으로 다시 사용하게 되므로 framework에서 그래프에 대한 최적화를 진행할 수 있는 장점이 있다.
가령, 코드 순서를 변경하거나 layer를 동시에 처리하는 등의 방식으로 효율적인 계산을 유도할 수 있다.
물론 초기에 이러한 최적화 과정때문에 느려질 수 있으나 반복적인 iteration이 진행될수록 효율성이 극대화 된다.
  • 이론적인 예를 들면, conv -> relu -> conv -> relu ... 식의 그래프를 그래프 최적화 알고리즘을 통해 conv + relu -> conv +relu -> 와 같은 식의 처리가 가능해진다고 한다.
Serialize
그래프를 구축만하면, 전체 그래프 구조가 메모리에 적재된다. 이로인해, 그래프 자료구조를 disk로 serialize할 수 있다. 이를 통해 전체 구조를 file형태로 저장이 가능해진다.
결국 이로인해 original code에 대한 액세스 없이 해당 파일만을 이용하여 구동할 수 있게 된다.
직렬화의 장점은 Python에서 작성한 코드를 c++언어의 코드위에서 동작시킬때 더욱 큰 효과가 발휘된다. 기존 파이썬 코드에 대한 액세스없이 network를 불러올 수 있게 되므로 c++환경에서 쉽게 :해당 네트워크를 import 할 수 있게 되는 것이다. (이와 반대로 dynamic graph는 매번 original code에 액세스가 필요함)

Dynamic Graph

대부분의 장점은 코드가 깔끔해지고 쉬워지는데서 시작된다. 대표적으로 조건 분기에서 나타난다.

분기를 할때 단순하게 numpy코드와 동일하게 python에서 지원하는 조건문을 사용할 수 있다. 이러한 동작이 가능한 이유는 매번 새로운 그래프를 만들게 되므로, 두 경로중 하나를 택해서 진행될 수 있고 이에 대한 back prop에 대한 처리를 자동적으로 수행할 수 있기 때문이다. 이와 달리 TF와 같은 static graph에서는 조건분기가 tensorflow graph내에 명시적으로 graph 생성코드내에 포함되어야 한다. 또한, 이러한 코드는 별도의 문법 (tf.cond)를 사용해야하고 코드가 복잡해진다.

조건문과 비슷하게 재귀적인 loop에서도 이러한 장점이 발휘된다. 연산과정에서 dynamic하게 발생하는 사이즈 문제가 해소된다. TF는 이를 처리하기 위해 별도의 문법이 또 존재하게 된다. 이러한 문제들로 인해 TF에서도 최근 Dynamic Graph의 기능을 제공하기위해 TF Fold라는 기능을 제공한다. 하지만, low level에선 TF 특성상 static graph이고 high level 단에서 dynamic graph화한 것이어서 여전히 한계가 있다. 따라서 dynamic한 동작을 제어하는 함수적인 프로그래밍을 할때, TF가 매우 불리할 수 밖에 없다.

Dynamic Graph가 정말 중요한 실질적인 예는 Recurrent Network에 있다.

Music Generation

As deep learning is gaining in popularity, creative applications are gaining traction as well. Looking at music generation through deep learning, new algorithms and songs are popping up on a weekly basis. In this post we will go over six major players in the field, and point out some difficult challenges these systems still face. GitHub links are provided for those who are interested in the technical details (or if you’re looking to generate some music of your own).

  • Magenta
  • DeepJazz
  • BachBot
  • FlowMachines
  • WaveNet
  • GRUV
  • MuseNet
  • MusicLM - 텍스트에서 음악을 생성하는 AI
  • Riffusion - 음악을 생성하도록 파인튜닝된 Stable Diffusion

Reinforcement Learning

Cheat Sheets

Table of Machine learning

Table of Machine learning

Learning Course

이론 (Theory)

확률론 (Probability theory)베이즈 이론 (Bayesian probability)

Machine learning

HypothesisLoss functionGradient descentOverfitting

Neural network

Artificial neuronPerceptronMultilayer perceptron(Example)Feedforward neural networkActivation function (Sigmoid function & Euler's number)Softmax function (Loss function)Backpropagation (Gradient descent)(Example)

딥 러닝 (Deep learning)

합성곱 신경망 (Convolutional neural network) (CNN) & Region-based Convolutional Network (RCNN, R-CNN)

ETC

Tutorials

이론 (Theory)

Basic

용어 (Terms)

확률론 (Probability theory)

베이즈 이론 (Bayesian probability), 결정이론 (Decision Theory), 확률 밀도 함수 (Probability Density Function) (PDF), 방사형 기저 함수 (Radial basis function) (RBF), Hyperparameter

신경과학 (Neuroscience)d

뉴런 (Neuron)

통계학 (Statistics)

공분산 (Covariance), 통계 분류, 분류행렬 (Confusion matrix), 교차 검증 (Cross-validation), 평균 제곱근 편차 (Root-mean-square deviation) (MESD), Mean squared error

그래프 이론 (Graph theory)

행렬 (Matrix)

General matrix-matrix multiplication (gemm), Toeplitz matrix, im2col

기타

Computational learning theory, Empirical risk minimization, Occam learning, PAC learning, Statistical learning, VC theory, 베이즈 네트워크, 마르코프 임의장 (Markov random field), Hidden Markov Model (HMM), Conditional Random Field, 정규 베이즈 분류기 (Normal Bayes Classifier), Energy Based Model, 오컴의 면도날 (Occam's razor), Ground truth

알고리즘 유형

지도 학습 (Supervised Learning)

서포트 벡터 머신 (Support Vector Machine) (SVM), Hidden Markov model, 회귀 분석 (Regression analysis), 신경망 (Neural network), 나이브 베이즈 분류 (Naive Bayes classifier), K-근접이웃 (K-Nearest Neighbor) (K-NN), Decision trees, Ensembles (Bagging, Boosting, Random forest), Relevance vector machine (RVM)

자율 학습 (Unsupervised learning)

군집화 (Clustering), 독립 성분 분석 (Independent component analysis)

준 지도 학습 (Semi-supervised learning)

Generative models, Low-density separation, Graph-based methods, Heuristic approaches

기타 학습

강화 학습 (Reinforcement learning), 심화 학습

주제별

구조적 예측 (Structured prediction)

Graphical models (Bayes net, CRF, HMM)

모수 추정 알고리즘

동적 계획법 (Dynamic programming), 기대값 최대화 알고리즘 (EM algorithm)

근사 추론 기법

몬테 카를로 방법, 에이다 부스트 (AdaBoost)

접근 방법

결정 트리 학습법, 연관 규칙 학습법, 유전 계획법, 귀납 논리 계획법, 클러스터링, 베이지안 네트워크, 강화 학습법, 표현 학습법, 동일성 계측 학습법

모형화

신경망 (Neural network), SVM K-NN, 결정 트리, 유전 알고리즘 (Genetic Algorithm), 유전자 프로그래밍, 가우스 과정 회귀, 선형 분별 분석, 퍼셉트론, 방사 기저 함수 네트워크

Recommender system (추천 시스템)

Collaborative filtering (협업 필터링), Content-based filtering (컨텐츠 기반 필터링), Hybrid recommender systems

데이터 마이닝 (Data mining)

교차 검증 (Cross-validation) (k-fold), Data set (Training set, Validation set, Test set)

회귀 분석 (Regression analysis)

선형 회귀 (Linear regression), 로지스틱 회귀 (Logistic Regression), Logit function, Multinomial logistic regression (Softmax Regression)

군집화 (Clustering)

k-means clustering, BIRCH, Hierarchical, Expectation-maximization (EM), DBSCAN, OPTICS, Mean-shift

종류별

3D Machine Learning

인공신경망 (Artificial Neural Networks; ANN)

인공 뉴런 (Artificial neuron)

퍼셉트론 (Perceptron), Sigmoid neuron

합성함수 (Combination function) & 활성함수 (Activation function)

Sigmoid function, Rectified linear units (ReLU), 1x1 Convolution

손실 함수 (Loss function) or Cost function

Softmax, Sum of squares (Euclidean), Hinge / Margin, Cross entropy, Infogain, Accuracy and Top-k

알고리즘

다층 퍼셉트론 (Multilayer perceptron) (MLP), Feed-forward Neural Network (FNN), Long short-term memory (LSTM), Autoencoder, 자기조직화지도 (Self-organizing map) (SOM), Network In Network (NIN), Adaptive neuro fuzzy inference system (ANFIS)

딥 러닝 (Deep learning)

심층 신경망 (Deep neural network) (DNN), 합성곱 신경망 (Convolutional neural network) (CNN) & Regions with Convolutional Neural Network (RCNN, R-CNN, SSD), 순환 신경망 (Recurrent neural network) (RNN), Gated Recurrent Unit (GRU), 제한 볼츠만 머신 (Restricted Boltzmann Machine) (RBM), 심층 신회 신경망 (Deep Belief Network) (DBN), 심층 Q-네트워크(Deep Q-Networks), Deep hyper network (DHN), Deconvolutional Network, Fully Convolutional Networks for Semantic Segmentation (FCN), Generative Adversarial Networks (GAN), Learning Deconvolution Network for Semantic Segmentation, Multi-Scale Context Aggregation by Dilated Convolutions (Dilated Convolutions), Dynamic Routing Between Capsules (Capsules Network), YOLO, Path Aggregation Network for Instance Segmentation (PANet), Image-to-Image Translation with Conditional Adversarial Networks (pix2pix), CycleGAN, BicycleGAN, SlowFast, Kinetics, AVA, MelGAN, EfficientDet, SinGAN, Panoptic Segmentation, U-Net, MONAI, CenterNet, DeepLab, HRNet, OCRNet, ResNeSt

Models

GoogLeNet, LeNet, AlexNet, ReNet, RCNN, SPPnet, Fast R-CNN, Faster R-CNN, VGG, SqueezeNet, PointNet, Mask R-CNN, MaskLab, OSMN (Video Segmentation), ColorNet, EfficientNet

Problems

차원 축소 (Dimensionality reduction)

Curse of dimensionality, Factor analysis, CCA, 독립 성분 분석 (ICA), LDA, 음수 미포함 행렬 분해 (NMF), 주성분 분석 (PCA), t-SNE

과소적합 (Underfitting) & 과적합 (Overfitting)

Early stopping, Model selection, Normalization, Regularization (L1, L2, Dropout), Generalization

초기화 (Initialization)

Xavier Initialization

ETC

편향-분산 딜레마 (Bias-variance dilemma), Vanishing gradient problem, Local minimum problem, Batch Normalization, 표준화 (Standardization), AutoML

최적화 (Optimization)

Hyperparameter, 담금질 모사 (Simulated annealing), Early stopping, Feature scaling, Normal Equation, 경사 하강법 (Gradient descent), Stochastic gradient descent (SGD), 오류역전파 (Backpropagation), Convex optimization, Performance Tuning, im2col, Dense-Sparse-Dense Training for Deep Neural Networks (DSD), Deep Compression, Pruning Neural Networks, Shake-Shake regularization, Accurate Large Minibatch SGD

ETC

Libraries

OpenCV, Deeplearning4j (DL4J), Torch, PyTorch, 테아노 (Theano), Caffe, TensorFlow, MMDetection, ConvNetJS, cuDNN, Netscope, Microsoft Azure Machine Learning Studio, OpenPose, DensePose, Keras, tiny-dnn, Detectron, Stanford CoreNLP, Aifiddle, Kubeflow, OpenNMT, alibi-detect, Flashlight (facebook), MediaPipe, Weights and Biases

Dataset

MNIST (손 글씨 데이터), ImageNet, CIFAR-10, TinyImages, PASCAL VOC, COCO, AVSS, YouTube-VOS

Annotation tools

labelme, cvat, f-BRS, COCO Annotator

See also

인공지능, 자동 로봇, 생체 정보학, 컴퓨터 지능, 컴퓨터 시각, 데이터 마이닝, 패턴 인식, 빅데이터

Unknown keyward

Classification, Anomaly detection, Association rules, Reinforcement learning, Structured prediction, Feature engineering, Feature learning, Online learning, Semi-supervised learning, Unsupervised learning, Learning to rank, Grammar induction, Local outlier factor, Minimum Description Length (MDL), Bayesian MAP, Structural Risk Minimization (SRM), Long Narrow Valley, Word2vec, Autoregressive integrated moving average (ARIMA)

Documentation

Bayesian probability

Bayesian Reasoning and Machine Learning
http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.Online
http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/020217.pdf
020217_-_Bayesian_Reasoning_and_Machine_Learning.pdf

Deep learning

ImageNet Classification with Deep Convolutional Neural Networks (AlexNet)
http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
ImageNet_Classification_with_Deep_Convolutional_Neural_Networks.pdf
[한글 번역] 깊은 컨볼루셔널 신경망을 이용한 이미지네트(ImageNet) 분류
ImageNet_Classification_with_Deep_Convolutional_Neural_Networks_-_ko.pdf
Going deeper with convolutions (GoogleNet)
http://arxiv.org/pdf/1409.4842v1.pdf
Going_deeper_with_convolutions.pdf
번역: GoogleNet
특집원고 딥하이퍼넷 모델 (Deep Hypernetwork models) (서울대학교/장병탁)
Deep_Hypernetwork_models_201508.pdf
[Mocrosoft] Deep Residual Learning for Image Recognition (Winner ILSVRC2015)
Deep_Residual_Learning_for_Image_Recognition(Winner_ILSVRC2015)_Microsoft.pdf
[Microsoft] Fast R-CNN, Towards Real-Time Object Detection with Region Proposal Networks (Winner ILSVR2015)
Fast_R-CNN,Towards_Real-Time_Object_Detection_with_Region_Proposal_Networks(Winner_ILSVR2015)_Microsoft.pdf
Learning Deconvolution Network for Semantic Segmentation
http://cvlab.postech.ac.kr/research/deconvnet/
Deep EXpectation of apparent age from a single image
https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/
Inside-Outside Net: Detecting Objects in Context with Skip Pooling and Recurrent Neural Networks.
Inside_outside_net_detecting_objects_in_context_with_skip_pooling_and_recurrent_neural_networks_2015.pdf
Small Object 탐지방법에 관한 논문.
조대협의 블로그 - 수학포기자를 위한 딥러닝과 텐서플로우의 이해
http://bcho.tistory.com/1208
Machine_learning_ebooks_-_Machine_learning_for_those_who_abandon_math.pdf
Densely Connected Convolutional Networks (DenseNets)
Deep learning CVPR2017 최고 논문상
Deep Learning Interviews book: Hundreds of fully solved job interview questions from a wide range of key topics in AI.
딥러닝 인터뷰 북
머신러닝을 배우는 석/박사 과정 및 구직자들을 위한 실전 질문과 솔루션 모음
인쇄본 구입도 가능하지만, 전체 PDF는 무료로 공개

Tutorials

딥러닝 제대로 시작하기 (지은이 오카타니 타카유키/옮긴이 심효섭)
Deep_Learning_-Takayuki_Okatani-2015-_sample.pdf
머신러닝 입문 가이드 - IDG Deep Dive
http://www.itworld.co.kr/techlibrary/97428
IDG_DeepDive_Machine_learning-20160113.pdf
딥러닝의 이해 (미발간; 2016-08-22 ver)
Understanding_deep_learning_0822.pdf
Fundamental of Reinforcement Learning
https://www.gitbook.com/book/dnddnjs/rl/details
Fundamental_of_Reinforcement_Learning.pdf
모두의연구소 - 강화 학습의 기본
Deep Learning Papers Reading Roadmap (딥러닝 논문 로드맵)
https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap/blob/master/README.md
Deep_Learning_Papers_Reading_Roadmap.md.zip
[추천] Machine Learning-based Web Exception Detection (금융보안원 프로젝트 관련 참조사이트!)
https://cloudfocus.aliyun.com/Machine-Learning-based-Web-Exception-Detection-89782?spm=a2c1b.a2c1b4.a2c1b4.16.ZSQoEd
Machine_Learning-based_Web_Exception_Detection_-Insights_and_Trends-_Alibaba_Cloud_Focus.pdf
머신러닝 기초 1~57편 (잡동사니 탐구 - 참스터디 ePaiai : 네이버 블로그)
http://sams.epaiai.com/220498694383
Microsoft, ML for Beginners 강의 공개
MS Azure Clouds Advocates 팀이 만든 12주, 24강짜리 커리큘럼
Scikit-learn을 이용한 클래식 머신러닝 강의 (딥러닝은 별도 AI 강의로 나올 예정)
https://github.com/microsoft/ML-For-Beginners

Compress model

Deep Compression and EIE - Deep Neural Network Model Compression and Efficient Inference Engine
Deep_compression_and_EIE_PPT.pdf
Learning bothWeights and Connections for Efficient Neural Networks
Learning_both_weights_and_connections_for_efficient_neural_networks_2015.pdf

Convolutional neural network

Reveal.js를 사용한 CNN 프레젠테이션 (Presentation).
Author - 나
Reveal-ml.tar.gz
Gradient-Based Learning Applied to Document Recognition
http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
Gradient-Based_Learning_Applied_to_Document_Recognition.pdf
Visualizing and Understanding Convolutional Neural Networks
http://arxiv.org/abs/1311.2901
1311.2901v3.pdf
Compressing CNN for Mobile Device (Samsung) - CNN 모델 압축의 필요성 etc ...
[http://mlcenter.postech.ac.kr/files/attach/workshop_fall_2015/삼성전자_김용덕_박사.pdf](http://mlcenter.postech.ac.kr/files/attach/workshop_fall_2015/삼성전자_김용덕_박사.pdf)
Samsung_-_Compressing_CNN_for_Mobile_Device.pdf
Using Filter Banks in Convolutional Neural Networks for Texture Classification
https://arxiv.org/abs/1601.02919

Deep belief network

The Applications of Deep Learning on Traffic Identification
Us-15-Wang-The-Applications-Of-Deep-Learning-On-Traffic-Identification-wp.pdf
https://www.blackhat.com/docs/us-15/materials/us-15-Wang-The-Applications-Of-Deep-Learning-On-Traffic-Identification-wp.pdf

Deconvolution neural network

Learning Deconvolution Network for Semantic Segmentation
http://cvlab.postech.ac.kr/research/deconvnet/
https://arxiv.org/abs/1505.04366
1505.04366.pdf

Segmentation

Learning to Segment (Facebook Research)
https://research.fb.com/learning-to-segment/
DeepMask+SharpMask as well as MultiPathNet.
Recurrent Instance Segmentation
https://arxiv.org/abs/1511.08250
1511.08250.pdf
Slideshare - Single Shot MultiBox Detector와 Recurrent Instance Segmentation
vid2vid
https://github.com/NVIDIA/vid2vid
Pytorch implementation for high-resolution (e.g., 2048x1024) photorealistic video-to-video translation.
It can be used for turning semantic label maps into photo-realistic videos, synthesizing people talking from edge maps, or generating human motions from poses.

Fire Detection

Fire Detection#Deep learning based에 정리한다.

Background subtraction

Background subtraction#Deep learning based에 정리한다.

LSTM

Long short-term memory에 정리한다.

Learning

Siamese Neural Networks for One-Shot Image Recognition
https://jayhey.github.io/deep%20learning/2018/02/06/saimese_network/
딥러닝에서 네트워크를 학습시킬 때, 매우 많은 트레이닝 데이터가 필요합니다. 이러한 단점을 극복하여 한 레이블 당 하나의 이미지만 있어도 분류할 수 있게 학습시키는게 one-shot learning입니다.

NVIDIA AI Developer Newsletter

[추천] AI Can Transform Anyone Into a Professional Dancer
https://news.developer.nvidia.com/ai-can-transform-anyone-into-a-professional-dancer/
https://arxiv.org/abs/1808.07371
Transforming Standard Video Into Slow Motion with AI
https://news.developer.nvidia.com/transforming-standard-video-into-slow-motion-with-ai/
NVIDIA SPLATNet Research Paper Wins a Major CVPR 2018 Award
https://news.developer.nvidia.com/nvidia-splatnet-research-paper-wins-a-major-cvpr-2018-award/
AI Learns to Play Dota 2 with Human Precision
https://news.developer.nvidia.com/ai-learns-to-play-dota-2-with-human-precision/
[추천] This AI Can Automatically Remove the Background from a Photo
https://news.developer.nvidia.com/this-ai-can-automatically-remove-the-background-from-a-photo/
NVDLA Deep Learning Inference Compiler is Now Open Source
https://devblogs.nvidia.com/nvdla/

Nature

Deep learning of aftershock patterns following large earthquakes
https://www.reddit.com/r/MachineLearning/comments/9bo9i9/r_deep_learning_of_aftershock_patterns_following/
https://www.nature.com/articles/s41586-018-0438-y
https://drive.google.com/file/d/1DSqLgFZLuNJXNi2dyyP_ToIGHj94raWX/view

Cancer

Deep Neural Networks Improve Radiologists’ Performance in Breast Cancer Screening
https://medium.com/@jasonphang/deep-neural-networks-improve-radiologists-performance-in-breast-cancer-screening-565eb2bd3c9f

Text Generation

Text Generation항목 참조.

VizSeq - A Visual Analysis Toolkit for Text Generation Tasks
https://arxiv.org/abs/1909.05424

Favorite site

Machine learning

E-book

데이터 분석

Artificial neural network

Convolutional neural network

Segmentation

Deep learning

Deep learning libraries

Andrew Ng

Machine Learning Exercises In Python

Guides

Tutorials

Data pool

Service

기안서에 사용하기 좋은 샘플 이미지

Online demo

References


  1. Artificial_Intelligence_6-Deep_Learning.pdf 

  2. The_Best_GPUs_for_Deep_Learning_in_2023_-_An_In-depth_Analysis.pdf 

  3. [추천] Stanford Machine Learning by Andrew Ng 

  4. Stanford-machine_learning-andrew_ng-lectures.tar.gz 

  5. Machine_Learning_-_OpenCV_ML_algorithms.pdf 

  6. S1_nn.pdf 

  7. Sigmoid_Function_of_Artificial_Neural_Network.pdf 

  8. Aistudy.co.kr_-_theory_oh.pdf 

  9. VGG_Convolutional_Neural_Networks_Practical.pdf 

  10. ConvNets_24_April.pdf 

  11. Forward_and_Backward_Propagation_of_the_Convolutional_Layer.pdf 

  12. The_easiest_way_to_understand_CNN_backpropagation.pdf 

  13. A_Look_at_Image_Segmentation_using_CNNs_–_Mohit_Jain.pdf 

  14. Artificial_Intelligence_6-Deep_Learning.pdf 

  15. The_Devil_is_always_in_the_Details_-_Must_Know_Tips_and_Tricks_in_DNNs.pdf 

  16. Openresearch.ai-190921.zip 

  17. Stanford-machine_learning-andrew_ng-lectures.tar.gz 

  18. OLD URL: https://class.coursera.org/ml-005/lecture 

  19. Sanghyuk's Github pages blog using octropress 

  20. SanghyukChun.github.io-006e2ae.tar.gz 

  21. 1ambda.github.io-19962c5.tar.gz 

  22. Machine_Learning_Exercises_In_Python_-_Part_1.pdf 

  23. Machine_Learning_Exercises_In_Python_-_Part_2.pdf 

  24. Machine_Learning_Exercises_In_Python_-_Part_3.pdf 

  25. Machine_Learning_Exercises_In_Python_-_Part_4.pdf 

  26. Machine_Learning_Exercises_In_Python_-_Part_5.pdf 

  27. Machine_Learning_Exercises_In_Python_-_Part_6.pdf 

  28. Machine_Learning_Exercises_In_Python_-_Part_7.pdf 

  29. Machine_Learning_Exercises_In_Python_-_Part_8.pdf 

  30. Samsung_software_membership_-_Neural_network_01.pdf 

  31. Samsung_software_membership_-_Neural_network_02.pdf 

  32. GPU_-how_much_faster_than_CPU-_NeoBrain.pdf 

  33. 1ambda.github.io-master-5c58cab.zip 

  34. Gitbook_-leonardoaraujosantos-_artificial-inteligence.pdf 

  35. 170915_Tensorflow_Seminar_From_Deep_Learning_Theory_to_Practice_-_POSTECH.pdf 

  36. Fueling_the_Gold_Rush_-The_Greatest_Public_Datasets_for_AI-Startup_Grind-_Medium.pdf