AIとは何か

初心者でもわかる!cnnやrnnが使われている事例まとめました

cnnとrnnのイメージ

AI(人工知能)についてで様々な用語が飛び交う中、cnnとrnnという言葉を見かけるようにもなってきました。

どちらも最近話題となっているディープラーニングの中で欠かせない手法の1つで、研究開発の対象として注目されています。そして私達が普段使っているWebサービスでも使われているのです。

そこで今回はそのcnnとrnnは何かというところから説明し、cnnとrnnがそれぞれ具体的にどのように使われているか事例をご紹介し、最後にこれらが一緒に使われている事例もご紹介します。事例を見ることでAI(人工知能)に馴染みのない方にも身近に感じられるようになるでしょう。

それでは、まずはcnnとrnnがどのように使われているかからお伝えします。

画像処理で用いられるcnn、時系列データ処理で用いられるrnn

AIのイメージ

まず初めにcnnとrnnについて。

cnnはConvolutional Neural Network、rnnはRecurrent Neural Networkの頭文字を取ったものになります。日本語だとcnnは畳み込みニューラルネットワーク、rnnはリカレントニューラルネットワークとそれぞれ訳されます。

cnn(畳み込みニューラルネットワーク)は画像データの扱いで主に用いられ、ディープラーニングにおいて数値を扱う場合と画像を扱う場合では要領が変わってしまいます。というのも画像の場合数値と違いデータは数値情報として縦と横の二次元となるからです。

従来のような手法でも画像データを扱うことはできますが、一次元に当てはめてしまうことで必要な情報が損なわれ精度に響きやすいという問題点がありました。画像データを扱う際にはそのまま二次元で入力する方が合理的だということで考えられたのがcnnであり、様々な種類のモデルが存在しています。

次に、rnn(リカレントニューラルネットワーク)は主に時系列データの扱いで用いられています。

例えば過去の株価の変動を基に翌日の株価がどうなるか予測するとしましょう。従来の手法で情報を入力することはできますがそうすることにより時間の順序の情報が削られてしまうという問題点がありました。しかし時間軸に沿ってデータを入力し、その時間情報を反映させる必要があるということから考案されたのがrnn。

データから時系列をそのまま入力し時間がどれくらい依存しているか学習できるようにしたものなのでcnnと同様様々なモデルが考えられています。

ホットペッパービューティーのネイル類似検索でcnnが使われたいた!

ネイルのイメージ

それでは今度はcnnとrnnが何に使われるか触れたので具体的な事例を見ていきましょう。

cnnはリクルートスタイルが運営するホットペッパービューティーのアプリで活用されています。

代表的なのはネイルの類似検索機能。画像を基にネイルの位置を判別しカラーヒストグラムやデザインを識別するので従来よりも直感的な画像の表示につながっているのですが、大まかな段取りからどうcnnが使われているか見てみましょう。

まず初めに手の写真からどれが爪であるかわかることが大前提となります。

判定するためにプログラムが画像をくまなく見て色の変化が大きいところの角度をグラフ化。これを事前に用意したデータを基に画像の中からどこに爪があるかを特定していきます。

爪を特定したところで、次にそこにあるものが何のデザインであるかが課題になりますよね。

ですから今度は爪の画像1つ1つに対し人間の手でタグ付けを行わせています。
ここからcnnの役割が重要で、縦と横の二次元で入力したデータの特徴からどのタグに該当するかを学習させることで学習と実際の判別の両方の精度を上げていきます。

デザインの判別にあたり色の区別も欠かせません。

色はRGBで表すと256×256×256で1677万7216通りあると言われていますが、これを1000種類にまで絞り、それに加え人間の肌色がデザインの判定に紛れ込まないよう調整を行なっていました。

これらの流れを経て完成したのが類似検索機能のシステムで、新しい画像に対しどのタグに近いかをプログラムが自動的に判定をしてくれるのです。

rnnを使って俳句を自動で作る!

俳句を作るイメージ

ここまではcnnの事例を見たので次はrnnの事例を見ていきましょう。

今回は「AI俳句「一茶くん」」というプロジェクトの例をご紹介します。

これはAI(人工知能)に関連したビジネスや企業の創生、そしてそこで活躍する人材の育成を目的に札幌市が立ち上げた「SAPPOLO AI LAB」という組織によって立ち上げられたプロジェクト。

AI(人工知能)は感性や独創性ではまだ人間にリードされておりそれらの感性の塊とも言える「俳句作り」に挑戦することで文書作成の課題に挑戦するというのがこのプロジェクトの目的の1つでした。主に小林一茶、正岡子規、高浜虚子などの古典俳句を学習する材料としています。

「すずめのこそこのけそこのけおうまがとおる」という有名な俳句を例にしましょう。

初めにこの俳句を言葉として最小単位に区切っていきます。最小単位のことを形態素と言います。分割したものを可視化すると「すずめ の こ そこのけ そこのけ お うま が とおる」となり、次に俳句の学習を積み重ねる中で新しく出てきた形態素に対し数字のIDを付けていきます。具体的なイメージとして「34 3 9 345 345 7 56 11 139」。

ここからがrnnの出番です。

IDそれぞれをデータとしてrnnに入力し、例えばすずめに当たる「34」の次にどのIDが来る可能性が高いかを学習させていくといったところ。

学習が完成したら、先頭に当たる単語を入れることで次にどの形態素が出て来る確率が高いかから形態素を出力し順を追って俳句という文字列として完成させています。

Googleがcnnとrnnの二刀流で画像の説明文を作る!

googleのイメージ

以上、cnnとrnnでそれぞれの導入事例を見てきましたよね。それでは最後にこれらを一緒に使っている例もご紹介しましょう。

それはGoogleが開発した画像の説明文章を自動生成する技術です。
まず初めにcnnの技術を使って画像の内容についてどういった状況であるかを解析させます。

本来であればcnnが行うことの最終段階で写真の中にある物体がどんなものであるかを決める作業が行われるのですが、それをする前に作業をストップ。

そしてここまでで得られた情報をrnnに使わせます。そうすることで画像認識のためのアルゴリズムが作ったデータを文章を作っていくのに使われていくのです。

また、直接様々な画像を認識させて説明文をつけることでより精度の高い説明文をつけられるようになります。

このように、画像と言語でそれぞれのシステムを合わせたこの技術により、Googleの画像検索の精度を上げるだけでなく視覚障がいのある人が映像を見たり、ネットの繋がりにくい場所で画像の表示が遅い分をテキストで補うなど幅広い応用が期待できるでしょう。

 

cnnのイメージ

今回は「初心者でもわかる!cnnやrnnが使われている事例まとめました」と題し、cnnとrnnがどのような時に使われるかを説明しました。

cnnは画像認識に使われる手法でホットペッパービューティーのネイルの類似検索機能で使われています。

rnnは時系列データ処理で使われており事例として「AI俳句「一茶くん」」を紹介しました。ここでは時系列として特定の言葉の次にどのような形態素が使われるか予測して俳句として文字列の生成をしていましたよね。

そしてGoogleが開発している画像から説明文を自動生成する技術ではcnnとrnnの両方を用いています。

これらの技術は今後も開発が進んだり広く導入が進んでいきます。ですから今後も注目していき、そしてそれらの事例から新しいアイデアを生み出していきましょう。

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました