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

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

2017/09/20 リンク追加・全体的に微修正 2017/08/14 リンク追加
2017/07/28 リンク追記

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

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

 ちなみに人工知能、機械学習、ディープラーニングの関係は、大まかには以下の定義が一般的と私は思っています。 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
ディープラーニングの論文のまとめ

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

理論編

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

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

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

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

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

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

教師なし学習の第一歩(クラスタリング)|Pythonで機械学習vol.6|TechClips[テッククリップス]
クラスタリングに関する記事

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

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

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

最新情報編

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)

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

実践編

 色々な実践の例など。具体的な応用例を見るとやる気が湧いてきますよね。

ディープラーニングでおそ松さんの六つ子は見分けられるのか? 〜準備編〜 - 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
実践するために何はなくとも必要なのはデータ。ネットから入手できるデータセットのまとめ。使用条件などはそれぞれのサイトで確認して下さい

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

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

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

書籍関連

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

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

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

Interface(インターフェース) 2017年 08 月号

Interface(インターフェース) 2017年 08 月号

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

Interface(インターフェース) 2016年07月号

Interface(インターフェース) 2016年07月号

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

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

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

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ

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

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

パソコンで楽しむ自分で動かす人工知能

パソコンで楽しむ自分で動かす人工知能

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

AIの遺電子 1 (少年チャンピオン・コミックス)

AIの遺電子 1 (少年チャンピオン・コミックス)

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

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で主要なフレームワークをとりあえず入れてみる方法。今はTensorflow+Kerasが熱そうですが、全然キャッチアップできてないです。クラウドとかも全然使えてないです。

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

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

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

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

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

まとめ

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

関連記事