딥러닝은 인공지능 분야에서 두드러지는 화두로 오랫동안 주목을 받아왔습니다. 컴퓨터 비전(Computer Vision), 게임(Alpha GO) 등의 분야에서 인간의 능력을 뛰어넘는 획기적인 발전을 보여 많은 주목을 받고 있다. 지난 설문조사 이후 딥러닝에 대한 관심이 크게 높아졌습니다.
Google 트렌드가 보여주는 내용은 다음과 같습니다.
이 기사는 소개하는 주제에 관심이 있다면 비기술적인 기사로 좋습니다. 딥 러닝의 최신 동향을 알아보고 싶다면 이 글이 종합적인 요약본이 될 것입니다.
여기서 우리는 초보자와 딥러닝을 더 깊이 탐구하고 싶은 사람들에게 학습 경로를 제공하는 것을 목표로 합니다. 그렇다면 딥러닝을 정복하기 위한 여정을 시작할 준비가 되셨나요? 길을 떠나자.
0단계: 탐험 준비
심층 학습 분야에 들어가기 전에 머신러닝에 대한 기본 지식을 이해하는 것이 좋습니다. "머신러닝 학습 경로"는 현장에서 시작하는 데 도움이 되는 완전한 리소스입니다.
더 짧은 버전을 원하시면 아래를 살펴보세요.
기본 수학, 자료 1: "수학 | 칸 아카데미"(특히 미적분학, 확률 및 선형 대수학)
Python 기초, 리소스: "컴퓨터 공학 입문", EDX 과정
통계 기초, 리소스: "통계 입문", Udacity 과정
기계 학습 기초, 리소스: "Introduction to Statistics" Machine Learning", Udacity 과정
시간: 권장 2~6개월
1단계: 머신 설정
다음 단계로 진행하기 전에 다음 사항을 확인하세요. 하드웨어를 지원합니다. 일반적인 권장 사항은 최소한 다음과 같아야 합니다.
충분한 GPU(4GB 이상), 바람직하게는 Nvidia의
충분한 CPU(예: Intel Core i3는 괜찮지만 Intel Pentium은 그렇지 않음) )
4GB RAM 또는 데이터 세트에 따라 다름.
아직 확실하지 않다면 이 하드웨어 가이드를 살펴보세요.
PS: 하드코어 게이머라면(물론 Candy Crush 플레이어뿐만 아니라!) 아마도 필요한 하드웨어가 이미 있을 것입니다.
필요한 하드웨어가 없으면 Amazon Web Service(AWS)를 구매하거나 대여할 수 있습니다. 다음은 딥 러닝에 AWS를 사용하는 방법에 대한 좋은 가이드입니다.
참고: 이 단계에서는 딥 러닝 학습 라이브러리를 설치할 필요가 없습니다. 이 작업은 3단계에서 수행됩니다.
2단계: 시도해 보세요
이제 사전 지식이 충분했으므로 딥러닝에 대해 더 자세히 알아볼 수 있습니다.
개인 취향에 따라 다음을 따르실 수 있습니다.
블로그: (리소스 1: "딥 러닝의 기초" 리소스 2: "신경망에 대한 해커 가이드")
동영상: "Deep Learning Simplified"
교과서: "Neural Networks and Deep Learning"
이러한 전제 조건 외에도 인기 있는 딥 러닝 라이브러리와 이를 실행하는 언어도 알아야 합니다. . 다음은 (비포괄적) 목록입니다(더 포괄적인 목록은 Wiki 페이지 참조).
Caffe
DeepLearning4j
Tensorflow
Theano
Torch
다른 유명한 라이브러리로는 다음이 있습니다:
Mocha
neon
H2O
MXNet
Keras
Lasagne
Nolearn
언어별로 분류된 딥러닝 라이브러리 목록은 다음과 같습니다
Stanford의 cs231n 강좌 강의를 읽어보는 것을 추천합니다. 12: 딥 러닝 라이브러리의 인기 개요
시간: 1~3주 권장
3단계: 나만의 모험 경로 선택
이제 재미있는 부분이 다가옵니다! 딥러닝은 다양한 분야에 적용되어 최첨단 결과를 가져왔습니다. 이 분야에 진입하기 위해서는 독자인 당신이 자신에게 맞는 경로를 선택해야 합니다. 이는 현재의 이해 위에 적절한 기초를 다질 수 있도록 실제적인 경험이 되어야 합니다.
참고: 각 경로에는 입문 블로그, 실제 프로젝트, 딥 러닝 프로그램 라이브러리 및 프로젝트에 필요한 보조 과정이 포함됩니다. 소개 내용을 이해한 다음 필요한 라이브러리를 설치하고 프로젝트 작업을 시작하세요. 이와 관련하여 어려움이 있는 경우 관련 과정을 활용하여 지원을 받으십시오.
딥러닝을 이용한 컴퓨터 비전
소개: "컴퓨터 비전을 위한 DL" 컴퓨터 비전 블로그
프로젝트: "얼굴 특징점 감지" 얼굴 특징점 감지 튜토리얼
그래서 필수 라이브러리 : Nolearn
관련 강좌: "cs231n: 컨볼루셔널 신경망 시각적 인식"
자연어 처리를 위한 딥러닝
소개-소개: "DeepLearning, NLP 및 Representation" ("딥러닝, 자연어 처리 및 표현" 블로그)
프로젝트: "딥러닝 챗봇":
"1부"
"2부"
필수 라이브러리: tensorflow
관련 과정: "cs224d: 자연어 처리에 딥 러닝 적용"
음성/오디오 인식을 위한 딥 러닝
시작하기: "Deep Talk: Deep Learning에서 배운 교훈" 뉴스 및 해당 영상입니다.
프로젝트: "Magenta(tensorflow)로 음악 생성"
필수 라이브러리: Magenta,
관련 과정: "Deep Learning(2016년 봄), cilvr Lab @ New York
딥 러닝 강화 학습
소개 및 프로젝트: "심층 강화 학습: 픽셀을 이용한 탁구 게임"
필수 라이브러리: 요구 사항은 없습니다. 하지만 테스트하려면 openAI 체육관이 필요합니다. 모델
관련 과정: "cs294: 심층 강화 학습"
시간: 1~2개월 권장
4단계: 심층 학습
은 이제 (거의) 딥 러닝 명예의 전당에 들어갈 수 있습니다! 앞으로의 길은 멀고도 멀고(말장난 의도) 지금은 이 새로운 기술에 익숙해지고 사용할 수 있는 분야가 거의 없습니다. 다음은 실력 향상을 위한 몇 가지 팁입니다.
다른 경로를 선택하고 위의 단계를 반복하세요.
위에 언급되지 않은 내용(예: 트레이딩을 위한 딥 러닝, 에너지 효율성 최적화를 위한 딥 러닝)
새로 배운 기술을 사용하여 무언가를 창조하세요(기억하세요, 큰 힘에는 큰 책임이 따른다는 것을 기억하세요)
딥 러닝 기술 테스트(예: Kaggle)
딥 러닝에 참여 커뮤니티(예: Google 그룹스)
최신 연구 결과 및 연구원(예: "RE.WORK DL Summit"을 팔로우하세요.")
시간: 제안 - 상한 없음!
구체적으로 딥러닝의 중요한 모듈인 머신러닝을 개발하거나 학습하기 위해 Python을 활용하는 방법에 대해 이야기해보겠습니다.
초기 준비, Python을 어느 정도 알아야 합니다! 과학적 연산, 데이터 정렬, 이미지 결과 모듈 이 세 가지는 필수입니다: numpy, pandas, matplotlib.
2. 고급 준비, 머신러닝 측면에서 scikit learn은 여러 머신러닝 방법을 통합하는 모듈입니다. 다양한 머신러닝 방법을 지원합니다.
3. 신경망에서도 발전한 텐서플로우는 구글이 개발했고, 이보다 더 강력한 개발자는 없다고 생각합니다. 그리고 구글을 생각해보면 확실히 업데이트 속도는 빠르지 않을 겁니다.
4. 쉽게 말하면 Keras는 매우 좋은 모듈입니다. 기본 레이어는 Tensorflow와 Theano이므로 Windows, MacOS, Linux에서 사용할 수 있습니다.
5. 실제로 사용할 수 있는 모듈이 많이 있습니다. 머신러닝 경력을 쌓다 보니 주로 이런 것들을 사용합니다.
모든 사람의 학습을 촉진하고 머신러닝 분야에서 중국인의 저력을 홍보하기 위해 머신러닝 소개 시리즈인 나만의 scikit 학습 세트인 Theano, Keras 및 tensorflow 중국어 교육 동영상을 만들었습니다. 중국에서는 반응이 크지 않았지만, 유튜브로 많은 분들이 시청해 주셨는데요. 모두가 중국인민의 힘을 지지해주기를 바랍니다.
Python 머신러닝 라이브러리와 딥러닝 라이브러리 요약
1. Scikit-learn(강력 추천)
Scikit-learn은 Scipy를 기반으로 하는 Python 모듈은 지원 벡터 머신, 로지스틱 회귀, Naive Bayes 분류기, 랜덤 포레스트, Gradient Boosting 및 클러스터링 알고리즘을 포함한 다양한 분류, 회귀 및 클러스터링 알고리즘을 갖추고 있습니다. 또한 Python 수치 및 과학 라이브러리인 Numpy 및 Scipy를 설계했습니다.
2. Keras(딥 러닝)
Keras는 Theano를 기반으로 하는 딥 러닝 프레임워크입니다. design은 Python 언어로 작성된 Torch를 의미하며 GPU 및 CPU를 지원하는 고도로 모듈화된 신경망 라이브러리입니다.
3. 라자냐(딥러닝)
맛있는 이탈리아 요리뿐만 아니라 Keras와 유사한 기능을 갖춘 딥러닝 라이브러리이지만 디자인이 약간 다릅니다.
4.Pylearn2
Pylearn은 기계 학습 연구를 단순화하는 Theano 기반 라이브러리 프로그램입니다. 이는 딥 러닝 및 인공 지능 연구에서 일반적으로 사용되는 많은 모델과 훈련 알고리즘을 확률적 경사하강법과 같은 단일 실험 패키지로 캡슐화합니다.
5.NuPIC
NuPIC은 HTM 학습 알고리즘을 도구로 사용하는 기계 지능 플랫폼입니다. HTM은 피질에 대한 정확한 계산 방법입니다. HTM의 핵심은 시간 기반의 지속적인 학습 알고리즘과 저장 및 회상의 시공간 패턴입니다. NuPIC은 다양한 문제, 특히 스트리밍 데이터 소스의 이상 탐지 및 예측에 적합합니다.
6. Nilearn
Nilearn은 신경영상 데이터를 통계적으로 빠르게 학습할 수 있는 Python 모듈입니다. Python 언어의 scikit-learn 도구 상자와 예측 모델링, 분류, 디코딩 및 연결 분석을 위한 일부 애플리케이션을 사용하여 다변량 통계를 수행합니다.
7.PyBrain
파이브레인(Pybrain)은 강화학습(Reinforcement Learning), 인공지능(Artificial Intelligence), 신경망 라이브러리(Neural Network Library)의 약어로, Python 언어를 기반으로 합니다. 그 목표는 유연하고 사용하기 쉬우며 강력한 기계 학습 알고리즘을 제공하고 미리 정의된 다양한 환경에서 알고리즘을 테스트하는 것입니다.
8.Pattern
Pattern은 Python 언어로 작성된 네트워크 마이닝 모듈입니다. 데이터 마이닝, 자연어 처리, 네트워크 분석 및 기계 학습을 위한 도구를 제공합니다. 벡터 공간 모델, 클러스터링, 지원 벡터 머신 및 퍼셉트론을 지원하며 분류를 위해 KNN 분류 방법을 사용합니다.
9.Fuel
Fuel은 기계 학습 모델에 대한 데이터를 제공합니다. MNIST, CIFAR-10(이미지 데이터 세트), Google의 One Billion Words(텍스트)와 같은 데이터 세트를 공유하기 위한 인터페이스가 있습니다. 이를 사용하여 다양한 방법으로 자신의 데이터를 교체할 수 있습니다.
10.Bob
Bob은 무료 신호 처리 및 기계 학습 도구입니다. 이 툴박스는 Python과 C++로 공동 작성되었으며, 이미징 도구, 오디오 및 비디오 처리, 기계 학습 및 패턴 인식을 위한 수많은 소프트웨어 패키지로 구성되어 있습니다. .
11.Skdata
Skdata는 기계 학습 및 통계 데이터 세트를 위한 라이브러리 프로그램입니다. 이 모듈은 장난감 문제, 널리 사용되는 컴퓨터 비전 및 자연어 데이터 세트에 대한 표준 Python 사용법을 제공합니다.
12.MILK
MILK는 Python 언어로 작성된 머신러닝 툴킷입니다. SVMS, K-NN, Random Forest, Decision Tree 등 다양한 분류 방법 중에서 지도 분류 방법을 주로 사용합니다. 또한 기능 선택도 수행합니다. 이러한 분류자는 다양한 방법으로 결합되어 비지도 학습, 선호도 골드 전파 및 MILK에서 지원하는 K-평균 클러스터링과 같은 다양한 분류 시스템을 형성합니다.
13. IEPY
IEPY는 관계 추출에 중점을 둔 오픈 소스 정보 추출 도구입니다. 주로 대규모 데이터 세트에서 정보를 추출해야 하는 사용자와 새로운 알고리즘을 시도하려는 과학자를 대상으로 합니다.
14.Quepy
Quepy는 자연어 질문을 변경하여 데이터베이스 쿼리 언어로 쿼리하는 Python 프레임워크입니다. 이는 단순히 자연어 및 데이터베이스 쿼리의 다양한 유형의 문제로 정의할 수 있습니다. 따라서 코딩 없이 데이터베이스에 자연어를 제공하는 자체 시스템을 구축할 수 있습니다.
Quepy는 이제 Sparql 및 MQL 쿼리 언어를 지원합니다. 그리고 이를 다른 데이터베이스 쿼리 언어로 확장할 계획도 있습니다.
15.Hebel
Hebel은 Python 언어의 신경망 딥러닝용 라이브러리 프로그램으로 GPU 및 CUDA 가속을 위해 PyCUDA를 사용합니다. 이는 신경망 모델을 위한 가장 중요한 유형의 도구이며 역학, Nesterov 역학, 신호 손실 및 중지 방법과 같은 다양한 활동 기능에 대한 활성화 기능을 제공할 수 있습니다.
16.mlxtend
일상적인 데이터 과학 작업에 유용한 도구와 확장 기능으로 구성된 라이브러리 프로그램입니다.
17.nolearn
이 패키지에는 기계 학습 작업을 완료하는 데 도움이 되는 다수의 유틸리티 모듈이 포함되어 있습니다. 이러한 모듈 중 다수는 scikit-learn과 함께 작동하며 다른 모듈은 종종 더 유용합니다.
18.Ramp
Ramp는 Python 언어로 머신러닝에서 프로토타이핑을 가속화하는 솔루션을 개발하는 라이브러리 프로그램입니다. 기계 학습을 위한 경량 팬더 기반 플러그형 프레임워크입니다. 기존 기계 학습 및 Python 언어(예: scikit-learn, rpy2 등)의 통계 도구에 대한 간단한 선언적 구문 탐색 기능을 제공합니다. 효율적으로.
19.기능 생성
이 도구 시리즈는 scikit-learn과 호환되는 API를 통해 머신러닝 기능을 생성하고 테스트합니다.
이 라이브러리는 많은 기계 학습 프로그램에 유용한 도구 세트를 제공합니다. 이 도구를 scikit-learn으로 사용하시면 많은 도움을 받았다고 느끼실 것입니다. (단, 알고리즘이 다른 경우에만 가능합니다.)
20. REP
REP는 조화롭고 재현 가능한 방식으로 수행하는 것입니다. 데이터 이동이 제공하는 환경 운전사.
TMVA, Sklearn, XGBoost, uBoost 등과 같은 다양한 작업을 제공하는 통합 분류기 래퍼가 있습니다. 그리고 모집단에 대해 병렬 방식으로 분류기를 훈련할 수 있습니다. 또한 대화형 플롯도 제공합니다.
21.Python Learning Machine 샘플
Amazon의 기계 학습으로 구축된 간단한 소프트웨어 모음입니다.
22.Python-ELM
파이썬 언어로 scikit-learn을 기반으로 한 익스트림 학습 머신을 구현한 것입니다.
23.gensim
주제 모델 Python 구현
확장 가능한 통계 의미
의미 구조에 대한 일반 텍스트 문서 분석
의미론적으로 검색 유사한 문서