Slide 1

Slide 1 text

AWSを活用したAIプラットフォーム 「AIメーカー」の開発 2z(つじ) @2zn01

Slide 2

Slide 2 text

お前誰よ? ・2z(つじ) ・Twitter @2zn01 ・web系エンジニア(機械学習はちょっと触る程度。。) ・PHP、Perl、Ruby(on Rails)、Python、Lua ・AWS歴は3年半ほど ・JAWS参加は去年のJAWS FESTA 2017@愛媛 松山から

Slide 3

Slide 3 text

AIメーカーとは web上で機械学習が誰でも手軽にできるプラットフォーム。 公開されたAIはみんなで活用できる。

Slide 4

Slide 4 text

何ができるのか? ・画像分類 ・文字起こし (随時、機能追加予定です!)

Slide 5

Slide 5 text

画像分類

Slide 6

Slide 6 text

①ラベルを登録 ②データを登録 ③学習

Slide 7

Slide 7 text

文字起こし

Slide 8

Slide 8 text

①画像・音声・動画ファイルから ②YouTubeから文字起こし ③録音から

Slide 9

Slide 9 text

リリースまでの道のり 6/23 LPを作り始める 6/30 LPを公開 7/1 AIメーカーの機能(画像分類)の開発を始める 7/16 AIメーカーの画像分類をリリース 8/18 文字起こし機能をリリース → 週末開発で1か月未満以内にリリース!!

Slide 10

Slide 10 text

まぁ、こんな短時間でできるわけない。。

Slide 11

Slide 11 text

ディープラーニングとの出会い 2015/5~ MicrosoftのHow-Old.net 写真から性別と年齢を推定

Slide 12

Slide 12 text

Face Score 2015/6 顔を採点するアプリを作った

Slide 13

Slide 13 text

そんな中、APIが廃止される。。

Slide 14

Slide 14 text

Oh....

Slide 15

Slide 15 text

しょうがないので、独自のモデルを作ることに... API廃止までの猶予は3か月ほど。 その間に30万もの顔画像を集めて学習させ、 独自のモデルを構築 → ディープラーニング(CNN)の使い方を学んだ

Slide 16

Slide 16 text

どうやったか? Bing Search Image API ①ひたすら画像を収集 ②ひたすら画像を分析 ③分析結果を保存 ④分析結果から学習 ⑤モデルを構築

Slide 17

Slide 17 text

waifu2x-multi 2016/2~ waifu2xをカスタマイズした画像をきれいに拡大するツール 複数画像の一括変換、動画変換に対応させた

Slide 18

Slide 18 text

waifu2xとは? 畳み込みニューラルネットワークを用いた超解像(SRCNN) waifu2xの人工知能は、次の問に答えます。 いまから与える画像はある画像を半分に縮小したものである。 縮小される前の画像を求めよ。 → 画像を拡大するのではなく、縮小される前の状態に戻します。 いまから与える画像はある画像を任意の圧縮率でJPEG圧縮したものである。 JPEG圧縮される前の画像を求めよ。 → ノイズを取り除くのではなく、画像をJPEG圧縮される前の状態に戻します。 作者ブログ「二次元画像を拡大したいと思ったことはありませんか?」より http://ultraist.hatenablog.com/entry/2015/05/17/183436

Slide 19

Slide 19 text

システム構成

Slide 20

Slide 20 text

→ GPUインスタンスやタスクを管理する機能を自前で実装

Slide 21

Slide 21 text

AIメーカー 2018/6~ これまでの開発で学んできたことがほぼそのまま活かせた! → 短時間でのリリースが可能に!

Slide 22

Slide 22 text

システム構成

Slide 23

Slide 23 text

利用したAWSサービス ・Amazon EC2 ・Amazon RDS ・Amazon Elastic File System(EFS) → Amazon SageMaker、ECS、EKSとかは使わず、 自分の知っている範囲のもので自前で構築した。 (使わなかったのは単純に知識不足です。。><)

Slide 24

Slide 24 text

Amazon EC2

Slide 25

Slide 25 text

Amazon RDS

Slide 26

Slide 26 text

Amazon Elastic File System(EFS)

Slide 27

Slide 27 text

実装で苦労したところ ・インスタンス管理 → AWS SDK for PHPを使ってGPUインスタンスの起動・停止 ・タスク管理 ・学習データ(画像)の収集タスク → Bing Image Search APIでラベル名から画像を収集 ・学習タスク → Caffeを使って学習し、モデルを構築

Slide 28

Slide 28 text

工夫したところ ・GPUインスタンスの常時起動は金銭的につらい。。 → APIで必要最低限の学習時のみ立ち上げ、終わったら停止 ・スケールする仕組みにしたい → Amazon EFSを使って学習データ/モデルは共有 ・AMIからのインスタンス立ち上げに時間がかかる → インスタンスをプールする仕組みを作った 5~10分かかるところを1~2分程度へ短縮 ・少ない学習データでも精度をあげたい → ファインチューニングによる精度向上

Slide 29

Slide 29 text

API公開しました! ・みんなのAIプラットフォーム → みんなが作ったAIはみんなで活用できる! ・APIの活用例としては、、 ・LINE BOTで活用 ・webサービスに組み込む ・アプリに組み込む → 興味のある方は、ぜひ使ってみてください!

Slide 30

Slide 30 text

これからやること ・機械学習モデル ・自然言語処理 ・物体検出 ・画像生成(GAN) ・音楽生成 ・ハイパーパラメータのチューニング機能 ・複数人でAIを作れる機能(学習データ集めなど) ・AIのマーケットプレイス機能 などを対応検討中...

Slide 31

Slide 31 text

ご清聴ありがとうございました!