人工知能・機械学習・ディープラーニング関係の雑多なまとめ

f:id:karaage:20170625211117j:plain:w640

人工知能・機械学習・ディープラーニングの概要

 最近話題の、人工知能とかディープラーニングとかの情報を雑にまとめてみることにしました。基本的に仕事ではなく、ほぼ自分の興味で調べたり試したりしているだけですので、あくまで趣味レベルの人がとっかかりだったり参考にすることを想定しています。

 ちなみに人工知能、機械学習、ディープラーニングの関係は、大まかには以下の定義が一般的と私は思っています。 f:id:karaage:20170625211117j:plain:w640

 ここらへんは人によって、「人工知能 = ディープラーニング」だと言ったりする人もいるので注意です。人工知能というものの定義が曖昧なので仕方ないとは思いますが、「自分が得意な分野=人工知能」と言いたがる人が多いのでそこらへんは気をつけておくと良いと思います(主に仕事で騙されたりしないようにするために)。

 そして、最近話題のディープラーニング、何がすごいのかと言うと、自分の理解は以下の通りです。 f:id:karaage:20170625212919j:plain:w640

 昔は、例えば画像認識をするには、職人がタスクに合わせて一つ一つルールを設定していました。それが、機械学習を使うことでデータからコンピュータがデータを判別できるようになったのですが、結局コンピュータが扱いやすいような特徴を抽出するのは、人間がやらないといけないといけなかったのです。特徴抽出というのは、画像でいえば例えばフィルタとなります。ところが、ディープラーニングの登場で、人間はニューラルネットワークの構造を設計してやれば、後は大量のデータを用意するだけで勝手に特徴量の抽出までやってくれるようになったのです。

 ただ、その特徴量の抽出方法は、難しすぎて人間が見ても全く理解できないものになりました。これがディープラーニングがブラックボックスと呼ばれる所以です。めでたしめでたし(?)。というのが現状だと自分は理解しています。

 そんなところで、機械学習・ディープラーニング関係の情報を列挙していきたいと思います。

まとめ系情報

機械学習の情報を手法を中心にざっくり整理 - Qiita
機械学習関係の情報のまとめ

機械学習の超初心者が、みんなが良いと言う記事を読んでまとめてみた - たくさん調べたことをまとめるブログ
情報が色々まとまっています

機械学習のお勉強(SVM,ニューラルネット、CNN、FCN,YOLO,SegNet etc ...)~参考まとめ~ - 空飛ぶロボットのつくりかた
リンク集的な記事

GitHub - terryum/awesome-deep-learning-papers: The most cited deep learning papers
ディープラーニングの優れた(awesome)論文のまとめ

GitHub - neilgu00365/A.I.
機械学習・ディープラーニング関係の記事。中には良さそうなものが結構含まれています

機械学習、AI、ディープラーニングのプログラミングを解説
機械学習に関して良くまとまった記事がたくさんあります。この記事の解説は、正しくて分かりやすいと思います

Deep Learning Practice and Trends(NIPS2017)
2017年のまとめ資料(全ページ英語の182ページのpdf)

Deep Insider - @IT
理論から実践までまとまっているサイト。なかなか良さそうです

分析の基礎(モデリング)/ Basics of analysis ~modeling~ - Speaker Deck
データ分析会社、BrainPadさんの神資料です

理論編

MPRG : 機械知覚&ロボティクスグループ/中部大学
中部大学の資料。まずは概要から知りたいという人向け、入門者用。

画像認識分野における深層学習
画像認識にディープラーニングがどう使われているかの解説 2018年スライド

Deep Learningと画像認識 ~歴史・理論・実践~
歴史から概要、理論まで。情報量多め。

http://ai.tanichu.com/slide_template
大学の講義のスライドが無料公開されています。公開しているのは、書籍「イラストで学ぶ人工知能概論」の作者でもあります。凄いボリュームです。

Deep Learning のお勧め教材
Stanford大学の講義資料を激しくオススメしてくれています

深層学習の非常に簡単な説明
スライド。いうほど簡単ではないと思いますが、図解がわかりやすい気がします

20170422 数学カフェ Part1
PFNのエンジニアによるスライド

https://tech-clips.com/article/421516
クラスタリングに関する記事

Googleが出した囲碁ソフト「AlphaGo」の論文を翻訳して解説してみる。 - 7rpn’s blog: うわああああな日常
AlphaGoの論文を翻訳し、AlpahGoが何をしていて、何が凄いかを丁寧に解説しています。非常に分かりやすかったです

Googleの開発者が作った3時間でディープラーニング(深層学習)をスライドとムービーで学べる集中レッスン - GIGAZINE
タイトルままです。1時間バージョンもあります。中々良さそうですが、まだ全部は見れていません

How to learn Machine Learning from Scratch · arXivTimes/arXivTimes Wiki · GitHub
一から理論を知りたい人向け、ハードコース

誰でもわかる Deep Learning 入門

最新情報編

Home · arXivTimes/arXivTimes Wiki · GitHub
機械学習関係で、フォローすべきアカウントのまとめ

HELLO CYBERNETICS
機械学習・ディープラーング関係の情報を積極的に発信しているブログ

渋谷駅前で働くデータサイエンティストのブログ
ブログタイトル通り、六本木で働いているデータサイエンティストの方のブログ。参考になる情報多数

Create with AI
人工知能関係の様々な情報や実例などを紹介しているサイト

人工知能に関する断創録
人工知能、認知科学、心理学、ロボティクス、生物学に関する情報を発信しています。これらの分野って実は密接な関係があるのですよね

人工知能ブログ - DeepAge
人工知能関係の情報を発信しているブログ。ちょっとしたコラム的な感じ

機械学習 | POSTD
機械学習関係の情報を発信しているブログ

bohemia日記
ディープラーニングでおそ松くんを見分けたりしている人のブログ

Pythonと機械学習
Pythonと機械学習の情報を発信しているブログ

GitHub - arXivTimes/arXivTimes: repository to research & share the machine learning articles
機械学習関係の最新の論文をすごい勢いで紹介しているサイト(GitHub)

🚀 Paper Survey - Paper Survey
こちらも機械学習(特にDeep Learning)の論文の日本語要旨を紹介しているサイト。GitHubで管理

Preferred Research
国産のディープラーニングのフレームワークChainerを作っているPFNのブログ。日本で今ディープラーニングで一番有名な会社(多分)。

Towards Data Science
データサイエンス関係の情報を発信しているサイト。考え方に加えてコードまで公開されているので勉強になる(英語)

実践編

 色々な実践の例など。具体的な応用例を見るとやる気が湧いてきますよね。この分野は特に理論と実践の両輪を回していくのが重要と思います。

ディープラーニングでおそ松さんの六つ子は見分けられるのか? 〜準備編〜 - bohemia日記
Chainerによるディープラーニングでおそ松くんを見分ける例。これは衝撃的でしたね

TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
TensorFlowによるディープラーニングでアイドルの顔識別をする例。有名ですね。

画風を変換するアルゴリズム
Chainerによるディープラーニングで画風を変換する例。自分も真似してやってみました

Pythonによる機械学習入門 ~SVMからDeep Learningまで~
pythonでSVM、ディープラーニングするためのわりと実践的なスライド

GitHub - leetenki/YOLOv2: YOLOv2のchainerの再現実装です(darknetのchainerローダと、完全なchainer上での訓練コードを含みます)
YOLO2のChainer実装

YOLOv2(TensorFlow)を使ってリアルタイムオブジェクト認識をしてみる - Qiita
YOLO2のTensorFlow実装

Ryota Kamoshida, Researcher at hitachi at Hitachi | SlideShare
日立のエンジニアの方のスライド、かなり専門的な内容

【API,サンプルコード,使い方】TensorFlowの参考リンク、記事まとめ - HELLO CYBERNETICS
Tensorflowを始めるとっかかりに。chainerからtensorflowに乗り換えようかと思っている人には最適かも

TensorFlowでディープラーニングによる『キュウリ』の仕分け | Workpiles
今話題の、Tensorflowを使ったきゅうりの仕分け機の作り方です

TensorFlowでアニメゆるゆりの制作会社を識別する - kivantium活動日記
TensorFlowでの画像識別をしています。ソースコードが公開されていて、コメントも丁寧なのでとても参考になります

特にプログラマーでもデータサイエンティストでもないけど、Tensorflowを1ヶ月触ったので超分かりやすく解説 - Qiita
理論からTensorFlowの導入まで丁寧に描かれています。初心者目線で書かれているので、とても助かります

arXivTimes/datasets at master · arXivTimes/arXivTimes · GitHub
実践するために何はなくとも必要なのはデータ。ネットから入手できるデータセットのまとめ。使用条件などはそれぞれのサイトで確認して下さい

AI Data Solutions | TELUS International
データセットのまとめ

GitHub - vahidk/EffectiveTensorflow: TensorFlow tutorials and best practices.
TensorFlowのコードの書き方が簡潔にまとめられていて参考になります(英語のみです)

Kaggle事始め - Qiita
データ解析のSkillを競うCompetitionサイト。データセットが入手できますし、どう分析すればよいかという議論や、データ分析のためのソフトのソースコードまで見ることができます。

Deep LearningフレームワークChainerと最近の技術動向
PFNの研究者のスライド。概要から、主要なネットワーク、Numpy使ったフルスクラッチでのDeep Learning、Chainerの使い方と主要な情報がギュッと詰まっています内容盛りだくさんです。これだけ見てもある程度全体が把握できると思います。

ディープラーニングで世界トップレベルのモデルを作ろう - Qiita
実際にディープラーニングで学習をさせていくときのベストプラクティス。モチベーションの維持方法から、泥臭い部分まで書かれていてとても実践的です。

 これらの機械学習の分野は、ほとんどpythonと呼ばれるプログラム言語が使われています。自分でも試してみたいと思われた方は、手前味噌ですが、以下記事を参考に環境構築して、実践してみると理解が深まると思います。

書籍関連

 自分が読んだ書籍を中心にオススメのものや興味深いものを紹介します。

 これは間違い無く良書です。最新のフレームワークのバージョンアップを追い求めることに疲れたら、これを読んでゼロから学び直すことをオススメします。ニューラルネットワークやpythonの基礎からやるので、たとえディープラーニングが廃れても、陳腐化しない10年使える知識がつくのじゃないかなと思います。

 Interface誌のディープラーニング特集。Raspberry Piで動かしています(学習は別)。個人的には、ゼロから作るディープラーニングの次くらいにオススメ。

 Interface誌人工知能の特集。SVMの説明とか非常に分かりやすかったです。

 pythonの機械学習ライブラリ scikit-learn の使い方を詳しく解説した本。ディープラーニングの実践の前に、機械学習の入門として読んでおいた方が良い本です。

 まだ買っていないのですが、今一番気になっている本。以下のレビューを読んでから気になっています -> 買いました。良書でした。

 買おうか迷っている本その2

GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning (1st edition)" book code repository and info resource 上記の本はGitHubでコードが公開されているので、これだけみても参考になりそう

 ちょっと最新のAIを試してみたい、初心者から中級者向きの本。何故か私の名前をクレジットいただいています

 ちょっと毛色は違いますが、人工知能が発展した未来を描いた漫画。何年後かはわかりませんが、実際こんな未来がくるのじゃないかなと思っています。色々考えるきっかけになる漫画だと思いますので、勉強疲れの合間にでも。

 数式から完全に逃げずに、基礎から勉強したいという人は以下もオススメです。これから勉強する学生さんとかにも良いかもしれません。

Raspberry Pi編

 Raspberry Piで機械学習やディープラーニングやっている人の情報

Raspberry PiとTensorFlowを使ったディープラーニングの開発環境構築 - karaage. [からあげ]
私が自分でやってみた例です

Raspberry Pi上でTensorFlowで簡単にディープラーニングを試せるツール「tensorflow-pi」でロボホンの幻の顔認識機能に挑戦してみた - karaage. [からあげ]
Raspberry Pi+TensorFlowで顔認識に挑戦した記事です

Raspberry Pi 深層学習ライブラリで物体認識(Keras with TensorFlow・Open CV) - Qiita

CNN(Convolutional Neural Network) on Raspberry pi - Qiita

自分で実践してみた例など

 自分がブログで色々試したものです。

ディープラーニングの主要なパッケージ(Chainer/Tensorflow)をインストールする方法@Mac/Linux(Raspberry Pi) - karaage. [からあげ]
Macで主要なフレームワークをとりあえず入れてみる方法です

ディープラーニングのフレームワークChainer使ってMac/Raspberry Piで画像認識 - karaage. [からあげ]
ディープラーニングの花形と言える画像認識を試してみた例です

Darknetという人工知能が超簡単で凄いと聞いたので試したら大変なことになった - karaage. [からあげ]
Darknetで遊んでみた例です

はてなブログのフォトコンで人工知能を使ってはてなTシャツをゲットするためGUIのディープラーニングツール「CSLAIER」を使ってみた - karaage. [からあげ]
フォトコンに優勝できる写真を学習をさせてみようと思ってチャレンジしたのですが、完全に失敗しました。全然原因もわからずディープラーニングの深い闇を見た気になりました。多少勉強した今ならうまくいなかった理由はわかる気がしています。

SVM(サポート・ベクタ・マシン)とpythonで空の写真から天気を判定させてみる - karaage. [からあげ]
機械学習の代表的なクラス分け手法であるSVMを試してみた例です

PFNのエンジニアさんが公開してるJupyter Notebookが実践的なハンズオン形式でディープラーニング(Chainer)の入門に最適 - karaage. [からあげ]
Chainerのハンズオンに関する記事。Chainerに関しては、本を買うよりハンズオンで実践していった方が良いかなと個人的には思います

ディープラーニングを使ってドット絵を画像に変換してみた - karaage. [からあげ]
ドット絵を画像にしてみるチャレンジ

MacでもRaspberry PiでもTensorFlow + Kerasで楽々画像認識 - karaage. [からあげ]
Kerasを試してみた例です

東京大学の松尾研究室が無料公開している「Deep Learning基礎講座演習コンテンツ」の自主学習方法 - karaage. [からあげ]
東大の松尾研が公開しているTensorFlowのチュートリアルの自主学習方法に関してまとめた記事

単眼カメラでKinectのように骨格検出する技術「Realtime Multi-Person Pose Estimation」を試してみた - karaage. [からあげ]
 単眼カメラで骨格検出を試した例です

ディープラーニングによる物体検出(「Faster RNN」「Yolo」「SSD」)に関して調べて実践してみた - karaage. [からあげ]
 ディープラーニングの物体検出をまとめて実践してみました

人工知能を使って異世界系の「なろう小説」を書いてみました - karaage. [からあげ]
 人工知能で小説を書いてみました。チュートリアルもnoteで公開しています

人工知能にTwitterを運用させてチューリングテストしたら衝撃的事実が明らかになりました - karaage. [からあげ]
 人工知能とTwitterでチューチングテストしてみました

Intel Movidius + TensorFlowでRaspberry Piでもサクサク画像認識 - karaage. [からあげ]
 Intel Movidiusを使ってみました

ディープラーニングで自分の身体を楽器にする「ヒューマンシーケンサー2.0」の紹介 - karaage. [からあげ]
 ディープラーニングで自分の身体を楽器にしてみました

ディープラーニングで動画に自動でモザイクをかける「ディープモザイク」作ってみました - karaage. [からあげ]
 ディープラーニングで自動でモザイクを入れてみました

人工知能 カテゴリーの記事一覧 - karaage. [からあげ]
その他やってみたこと

まとめ

 一通りまとめてみました。基本的に、浅い理解の自分がまとめてみた情報ですので、ガチの人の厳しいつっこみより、優しい助言や分かりやすい情報などいただけることを期待しています。しばらくは随時情報追加していく予定です。

変更履歴

2018/06/08 自分でやったことのコンテンツのリンクを追加
2018/05/13 リンク追加

関連記事