AI関連 開発メモ

■動機

ディープラーニングが流行り始めた頃から興味はあったのですが、なかなか時間がとれず、ようやく始めたところです。(2018年)
人工知能の第二次ブームのときに(90年ごろ)ニューラルネットワークの基本理論は大学(院)時代に学んではいたのですが、具体的な成果は無し。
ディープラーニングが流行り始め、状況が第二次ブームのときと明らかに異なり、応用範囲が広いと感じたのがきっかけです。

■目的

ディープラーニングを使ったサービス、製品などが日常的に報道されるほど一般的になっていますが(2018年)、そのようなものを(個人レベルで)やるつもりはありません。(そういうものはそういう人たちに任せればいい)
私が個人的にやりたいのはAIを積極的に取り入れるものではなく、これまでソフトウェア(プログラミング)で実現しようと思ったものをAIで実現できないか?という視点です。
わかり易い例で言えば、画像認識をプログラミングで(ロジックで)作ろうとすると納得のできるレベルにするまでかなりの試行錯誤が必要ですが、それをAIの技術に置き換える、というものです。
つまり、やりたいことをすべてプログラミングで実現する、ではなく可能なところはAIで実現する、というスタンスです。

アイデアは色々とあるのですが、現実的なものが見えてきたら具体的な内容を記述、公開したいと思います。

■Download

Yolo v4 for Windowsのバイナリ

Yoloの使い方を知っている人で、Windows用バイナリを作れない人向け - そんな人いる?

yolo-v4-win64.zip をダウンロード

※CUDA, cuDNNなしでbuildしたのでGPUは使わないかもしれません。学習用ではなく、認識専用を目的に作成してます
※OpenCVに対応していないため動画(mp4など))は使えないはずです

展開方法:

https://github.com/AlexeyAB/darknetをダウンロード・展開 or git cloneする。
展開したところへ unzip yolo-v4-win64.zipを展開

Suumoから物件の画像情報・物件URLなどを自動取得、間取り画像だけを抽出

卓球台の置ける物件を探すために作りました。
そういう需要は無い、あったとしてもそういう人は自分で作れるはず?
ということで公開は保留しています。
欲しい方は下記メールまで。
ちなみに、間取り画像は99%以上の精度で抽出できます。

前提:Yolov4が動作する環境

■FAQ

よくある疑問を列挙していきます。

Q. Tensorflow+pythonをCPUで使用していましたが、そこからGPUを使う場合何か特別なことは必要ですか?
A. CUDAなどのインストールは当然必要ですが、Tensorflowに関してはpip3 install tensorflow-gpu というように、GPU版のTensroflowをインストールするだけでGPUを使用するようになります→それよりAnaconda3をインストールした方が良いかも?

■リンク

はじめてのGAN - ちょっと古い(2017)

■書籍・講義

深層学習
お勧め度:★★★☆☆
難易度:★★★★☆
ニューラルネットワークを中心とした人工知能について、理論的な内容を中心に説明されています。
理論的な内容と言っても堅苦しい学術的なものではなく、技術の背景にある理論的な面を詳細に説明してあり、他の研究などのリファレンスも豊富にあり、より深く理解するには非常にいい本だと思います。
数式が多く、それを理解するには理系大学の2年生くらいの数学レベルが必要かもしれませんが、数式が理解できなくとも理論的背景を知ることができます。
(私自身も数式についてはなんとなく理解できるくらいで深読みはしていない・するほどの必要なレベルに達していない)
この書籍は既存のシステム・ライブラリをそのまま使うのではなく、自ら最適なモデルを構築したい、という場合に必要になってくるのではないかと思います。
良い書籍ではありますが、初心者が理解するには難しいはず。
2020.9.18 時代遅れになってきているのでお勧め度を一つ下げました

Python機械学習プログラミング
お勧め度:★★★★☆
難易度:★★★☆☆
機械学習全般を実際的なレベルで理解したいと思い購入しました。
まだ1/3程度しか読んでいませんが、まぁまぁかなぁという印象です。(訳語なので読みにくいところあり)
数式を使って理論的な説明もあり、この本に従って学習すると機械学習全般的なことを学ぶことはできるのですが。
→ある程度わかってからこの本を読むと押さえるべきところをしっかりと書いてある良い本だと思います

つくりながら学ぶ!PyTorchによる発展ディープラーニング
お勧め度:★★★★☆
難易度:★★★☆☆
基本的なディープラーニングについてはすでに理解しておく必要がある。環境のインストールについてもほとんど書かれていない。Python、PyTorchについても基本的なことを知っている前提。
私がこの本を購入した理由は、ネット上にGANがまともに動くサンプルが見つからなかったため(私の環境で)。
PyTorchをまだ使ったことが無かったため。
実践的な解説を知りたかったから。

TSUKUBA OCW・機械学習

お勧め度:★★★★☆
難易度:★★★★☆

無料で視聴出来る大学の講義です。機械学習全般を網羅的・理論的にとてもわかりやすく説明しています。
学習に必要なスキルとしては、理系大学1〜2年程度の数学知識、特に線形代数。これがないと挫折します。
(講義は情報処理系の大学三年生を対象にした専門的授業)
プログラミング関連の説明は無し、最新のモデルなどの説明も一切無し。あくまで数式を使った理論的な説明が中心なので、本当の意味で基礎力を身につけたい人、にわかAIプログラマーと差を付けたい人向けです。

※難易度は★が多いほど難しいです。

■前提

現在のAIを学習する前の私の前提。

・大学では電子工学専攻。情報工学については情報理論程度しか習っていない(ほとんど独学)
・機械学習は一切勉強していない
・英語は苦手(TOEIC700点ちょっと→今は790?)
・数学に苦手意識はない(数式は理解できるが、使わないと忘れてしまう)
・プログラミング歴は30年以上あるが、Python経験は数年程度


■学習日記

こちら


連絡先: