コードノート

コードノートはwebを中心にテクノロジー・クリエイティブを伝えるWebメディアです。コードリンク代表、片岡亮が執筆しています。

AI・ディープラーニングついて話した内容をまとめておく

f:id:moba13:20120618182927j:plain

こんにちは。僕です。

先日なぜか、主に非ITな方々に向けてディープラーニングについて説明する場があり、色々とメモっておいたことをブログにも放出しておくことにしました。

日頃業務ではディープラーニングには触れることはなく、ゴリゴリのエンジニアでもないwebディレクターの書いた内容になるので、話半分でお願いします🙏

日常的なコミュニケーションにおいて「だいたい合っていること」を話すのは普通のことですが、技術の場において「だいたい合っていること」を話すのは罪深いことだったりします。すべて正しく記述するのがプログラムってものですから。

その一方、世の中では技術に明るくない、なんか偉い人・営業・コンサルタント・ブロガーみたいな方々が、「だいたいすら合っていない」内容をドヤ顔で語っており、oh..知識の二極化が進む..!と悲しくなるので、恥ずかしながら公開しておきます。

マジで違う部分に関しては、優しくご指摘いただけると幸いです。

人工知能って何?

f:id:moba13:20190618002425j:plain

人工知能は現在第3次ブームと言われますが、これまでの遍歴を「第1・2次」「第3次」の2つのに分け、解説を行いました。

第1・2次ブーム 「人間が知能を理論的に再現していく流れ」

出てくる用語としては「記号処理」「知識ベース」「ルールベース」「エキスパートシステム」といったものがあります。

「人工知能」と言ってはいますが、機械に考えさせるのではなく、人の考え方をプログラムで疑似的に再現しよう、といった分野です。

古い技術のように言われることが多いですが、現在のインターネット(www)や、従来の検索エンジン、機械翻訳などは、この技術を応用した先にあるものです。

第3次ブーム 「機械が自ら学習する。機械学習・深層学習(ディープラーニング)」

人間のニューロンを模した回路を作れば、機械がデータを勝手に学習してくれるのでは?というのが、現在ブームとなっている機械学習・深層学習の分野です。

概念自体は、機械学習-1960年頃 深層学習-1980年頃に生まれていますが、精度が低く 〜第2次ブームのように、結局は人が機械にルールが与えないとダメだよね、と言われる時代が続きました。

それが、2012年になり画像認識(有名なGoogleの深層学習による猫画像認識のニュース)の分野で人間が作ったアルゴリズムの精度を超えた!ということで話題となりました。

- 機械学習と深層学習の違いは何か

深層学習は、機械学習の手法の一つです。機械学習 > 深層学習。

共に、大量のデータの中から「特徴をつかむ」ことを試みます(=学習)。その方法が従来の機械学習と、深層学習では異なります。

従来の機械学習では、特徴のつかみ方自体は人が教えます。深層学習では特徴のつかみ方も自身で模索します。

これが深層学習はその中身がブラックボックス(人間がルールを定義していない)だ、と言われる所以です。

また、その学習を可能にするために、人工ニューロンを何層にも深く重ねることから、「深層」学習と呼ばれます。

  • 機械学習は、人がルールを用意した浅い層のネットワークで学習する。
  • 深層学習は、人がルールを設けない深い層のネットワークで学習する。

といった具合です。

そして、ハードウェアの性能向上や、畳み込みニューラルネットワーク(CNN)という手法で精度が向上したことで、いま現在深層学習が人がルールを作る方法よりも高い精度を誇るようになったのです。

(だいぶ端折った解説なので、適宜詳しい解説を見てください🙇)

 

ディープラーニングで出来ることってなんだ

f:id:moba13:20190618104655j:plain
正確にはもっと細かく分類できるのですが、ここでは

「認識/予測」「生成」「行動」×「数値」「画像/動画」「文章/言語」「音声/音楽」というマトリクスに分けて事例紹介をしました。

YouTubeやTwitterの動画を多く貼っていますので、言葉を見るよりもぜひそちらを直接見ていただいた方がイメージしやすいかと思います。

【数値】

・認識/予測

例えば株価、売上、来店数といった数値予測の分野で、ディープラーニングの大きな成果を聞くことはあまりありません。

というのも、数字の分析であれば従来の統計的なアプローチで十分なケースが多いためです。

一方で、下記のようなニュースもあり、必ずしもディープラーニングが生きない、ということでも無さそうですが、あまり得意分野とは言えません。 

www.itmedia.co.jp

そんな中世の中では、「AIでデータ分析!」みたいな商品も見受けられるので、そんな時は、Excelで計算しているような従来の技術にAIと冠を付けているだけなのか、ディープラーニングなのかはよく確認した方が良いかもしれません。

手段と目的の話なので、目的さえ達成できるなら、古かろうが新しかろうがどちらでも良いんですけどね。

【画像/動画】 Hot!

ディープラーニングが今一番得意とするのがこの分野です。「機械が目を持った」と言われる所以。

・認識/予測

- 画像認識

注目を集めたのが2012年。この年に人工知能の画像認識コンテスト「ILSVRC」で深層学習による画像認識の精度が、従来の機械学習での精度を超えました。

この年の誤認識率は約17%ほどですが、2015年には3.5%ほどにまで下がっています(人間は5%ほど誤認識する。)

news.mynavi.jp

- 物体検出 YOLOv3

動画からの物体検出で有名なモデルがYOLOです

www.youtube.com

物体検出の活用として有名なのは、やはり自動運転でしょうか。一方で自動運転のすべてがディープラーニングではなく、走行ルートの決定には既存の技術が使われているケースが多いです。

note.mu

f:id:moba13:20190618104040p:plain
(上記記事から引用)

海外では、走行含めすべてディープラーニングで行おうとする研究もありますが、それは後ほど強化学習の項目で紹介します。

-顔認識
いわゆる顔パス的な機能も、主に海外で実装され始めています。

国内でも以下のような事例があります。

www.itmedia.co.jp

最近、話題になったSnapchatによる2人の顔の入れ替えなども、この技術が応用されているかと思われます。

www.youtube.com

tiktokのフィルターやスタンプにも。

- ドローンとの組み合わせ
ドローンに搭載したカメラとの相性が良く、建造物 / 太陽光パネル 等の傷点検への活用事例も多く見受けられます。密猟者など発見のための無人パトロールにも。

- 電車車両の点検

- 癌の検出

business.nikkei.com

- Adobe Sensei
Photoshopなどで有名なAdobeも、各ソフトに画像認識技術を応用した機能を提供し始めています。

www.youtube.com

 

・生成

人工知能感(AIが新しいものを作り出している感) があるのが生成の分野です。

- GAN

有名な技術が、GANです。以下のような画像生成例があります。

styleGAN

アイドル画像生成

ポケモン画像生成

アニメキャラ画像生成

ラーメン二郎画像生成

線画から背景風が画像を生成するGauGANも最近話題でした。

www.youtube.com

DeepFake(偽動画)もGAN技術の活用です。

オバマ大統領

www.youtube.com

シュワルツェネッガー → シルベスター・スタローン

www.youtube.com

- pix2pix

別のところでは、pix2pixという技術も注目されています。

線画に自動着色

www.youtube.com

白黒写真に色付け

www.youtube.com


【文章/言語】

・認識/予測

- Seq2Seq

文章分野で一番話題なのはやはり、Google翻訳の精度向上でしょう。ここではディープラーニングのSeq2Seqという技術が使われいます。

-その他、ディープラーニングによる文章解析例。

- 文章の要約
- スパムメール判定
- 対話(Microsoftのりんな など)

- word2vec

深層学習ではなく、機械学習のものですが、word2vecも言語処理技術として以前注目を集めました。文章内の単語同士の意味の近さを計算する技術です。

ロゼッタストーンなどの古代文字の文章解読の際の考えが元にあり、近くに頻出する単語の意味は近い(「東京」と「首都」は意味が近い)、という検出を機械が行います。

word2vecで分析したデータを、深層学習に使うといったデータ加工にも使われているようです。

活用事例

qiita.com

・生成

-RNN / LSTM

文章生成では「RNN」「LSTM」といったディープラーニングの技術が使われるケースが多いです。

機械学習で時系列データを扱う手法で、文章なら前の文字から次の文字を予測するといった形で使われます。しかし、文章全体の文脈を考えるといったことが出来ず、あまり精度の高いことは現状できていません。

活用例

nus-miz.hatenablog.com

- GPT-2

現状ディープラーニングの文章生成精度は微妙、書いたところですが、最新の研究では高い精度を誇るモデルも登場しています。

www.itmedia.co.jp

1行書けば、それに続く文章が自動生成されます。その精度の高さから、フェイクニュースやスパムサイトへ利用される恐れがあり、すべての技術が公開されない、という判断がされています。

 

【音声/音楽】 Hot!

音の分野も、画像と並ぶディープラーニングの大きな成果が得られている分野です。

・認識/予測

- スマートスピーカー

有名なのが、GoogleHomeやAlexaを始めとしたスマートスピーカーですね。

developers-jp.googleblog.com

- 文字起こし

音声の文字起こしもかなり精度が向上しました。

ledge.ai

勝間和代さんも執筆活動の多くを音声入力化していると聞きます。

katsumakazuyo.hatenablog.com

その他、音楽界隈でもこのような実例が出てきています。

- 演奏から、特定の楽器の音だけ抽出
- 曲から譜面を起こす(AI耳コピ)

・生成

- WaveNet

人工音声生成に関しては、WaveNetという技術が有名です。

先日、アメリカの一部地域で「Google Duplex」というレストランや美容院の音声AIによる電話予約代行サービスも開始されました。

youtu.be

他にも、電話の自動応答・迷惑電話ブロックという機能も提供され始めています。

japanese.engadget.com

- 音楽生成

音楽生成分野も、文章生成と同じくまだまだ拙いですが、たびたび精度の上がった報告がされています。

createwith.ai

Googleが提供する、新しい音を作るシンセサイザー NSynth Super

www.youtube.com

 

【強化学習】

ここまで紹介した事例とは少し変わりますが、ディープラーニングの中で大きな注目を集めるのが深層強化学習の分野です。

AI囲碁プログラムのAlphaGoが特に有名ですが、機械に行動に対する「報酬と罰」を設定し、基本的な動作方法だけを教えた上で、最も最適な行動を機械自身が模索していく方法です。

ゲームで言えば、AIが最初はコントローラーをガチャガチャ適当に動かす中で、スコアが高くなる・ゲームオーバーにならないプレイ方法を身につけていく、という学習方法です。

- DeepMind社

AlphaGoを開発したDeepMind社は現在、StarCraft IIというゲームの攻略にも挑んでいます。

「DeepMindのゲームAI「AlphaStar」、StarCraft IIでプロゲーマーに完勝。しかし条件平等化で1敗を喫す」

japanese.engadget.com

(完勝と書かれていますが、AIが超有利な環境での場合です。)

囲碁や将棋は「完全情報ゲーム」と呼ばれていて、盤面上に相手の手札も含めすべての情報が見えるゲームを指します。

一方現在はそうではない、「不完全情報ゲーム」の攻略も目指している状態です。麻雀・ポーカーといった、相手の手札を読んで戦うゲームでは、まだAIは人に勝ち切れていない、ということです。

- OpenAIGym

強化学習用の学習環境を提供しているのが、OpenAIという団体です。

gym.openai.com

主にAtari社のゲーム(インベーダーやブロック崩しなど)を、PC上で実行・プログラムで操作しやすくするツールキットを提供しています。

ブロック崩しを強化学習した例

www.youtube.com

昨年は、OpenAI Retro Contestというセガのソニックで一番ハイスコアを出すコンテストが開催され、1位はこのようなプレイをAIが行っています。

偶然にもバグを発見する動作をしていますが、強化学習は今後ゲームのデバッグ作業やゲームのバランス調整にも活用されていくことが期待されています。

- 自動運転

先に、自動運転は部分的にしかディープラーニングを活用していない、という話をしましたが、イギリスのベンチャー企業ではすべてをディープラーニングする研究が行われています。

jp.techcrunch.com

www.youtube.com

また、Amazonは「AWS DeepRacer」という機械学習にするラジコン操作キットの提供と、そのコンテストも数年行っています。

aws.amazon.com

先日の日本大会では、AI学習を始めたばかりの人が優勝したことが話題になりました。

newswitch.jp

以上!

この辺をふんわり把握しておけば、世の中でAI○○と呼ばれる商品を見た時に、それが新しい技術のものか、既存技術のものかなんとなく見分けられるはずです。