近年、コンピュータ技術の向上により大幅に進化したAIですが、AIがここまで進化した要因として、機械学習の一種である深層学習があげられます。ここでは、そんな深層学習を用いたアプリのご紹介を行おうと思います。
では、その前にそもそも深層学習とは何かについて考えていきましょう。
深層学習とは
深層学習とは、コンピュータに学習させる際の手法のことで、人間の脳神経細胞のつくりをもとに作られています。
ここで、人間の脳神経細胞のつくりについて確認します。
簡単に言うと、人間の脳神経細胞は3つの層から構成されており、外からの刺激を受け取る入力層、その刺激を受けてある処理を行う中間層、中間層での処理結果を受け取り、それを人間の体へ伝える出力層があります。
このつくりのことを、ニューラルネットワークと呼んだりします。これを少し応用するのです。
基本的には、脳神経細胞のつくりと同じなのですが、より複雑な処理にも対応できるようにするために、処理を行う部分である中間層を多層化します。いくつもの中間層を作るわけです。これがディープラーニングを行うための構造で、この構造のことをDNN(Deep Neural Network)と呼んだりしています。
しかし、これが登場したのは2000年代であり、最近ではDNNを応用する形で、さらにいくつもの技術が作られています。それについても少し具体的に見ていきましょう。
畳み込みニューラルネットワーク(CNN)
CNNとは、画像認識を行うAIに導入されている技術で、先ほどのDNNの中間層の部分を少し改良しています。
DNNのほうでは、入力層→中間層→…→中間層→出力層といった構造を持っていたのですが、CNNでは、入力層→畳み込み層→プーリング層→全結合層→出力層といった具合で、中間の層に明確な役割が割り振られています。
各層がどのような役割を果たしているのかを簡単にご紹介します。
まずは畳み込み層です。先ほど述べた通り、CNNは画像認識に用いられているので、まず入力層に何かしらの画像データが入ってきます。その後読み込まれたデータが畳み込み層に渡されます。畳み込み層では、この入力層から流れてきた画像データを、フィルタを用いて特徴マップというものに変換します。
特徴マップとは、元の画像データの特徴量をとらえやすく改良したもので、ここでは画像認識の前処理のような処理を行っています。その後、畳み込み層からプーリング層へと特徴マップが渡されます。プーリング層では、この特徴マップのサイズをある演算を用いて小さくします。
最後に、サイズを小さくした特徴マップを全結合層で一次元にします。これが、CNNの処理の流れです。
リカレントニューラルネットワーク(RNN)
RNNとは、DNNの際に用いたニューラルネットワークの中間層にあたる部分にループを導入した技術です。具体的には、音声や言語などの時系列の順序が鍵を握るような処理に対して適用することが出来ます。
Generative Adversarial Networks(GAN)
GANとは、生成器と識別器と呼ばれる二つのニューラルネットワークを用いた技術で、主に画像等の生成に用いられます。ここで、生成器や識別器の簡単な説明をしたいと思います。
生成器・識別器はどちらもGANを導入する際には必須となっており、それぞれに役割が割り振られています。先ほど、GANでは画像等の生成を行うことが出来ると述べたのですが、その画像の生成を行うのが生成器です。
しかし、コンピュータは初めから何でもできる万能機械ではないので、生成器が生成する画像は目的の画像と比べてかなりの誤差が含まれます。それを正すのが識別器です。
識別器では、生成器が作成した画像と目的の画像とを見比べて、どちらが偽物かを判断します。初めのうちは、生成器によって作られる画像に明らかな不備があるため、簡単に見分け得られてしまいます。
生成器はそれを防ぐために何度も挑戦して、識別器をだまそうとします。こうした生成器と識別器の競争により、お互いの制度が徐々に向上し、最終的に目的画像と遜色ない画像を作れるようになるのです。
以上がGANの処理の流れです。また、こうした識別器と生成器の競争から、敵対的生成ネットワークとも呼ばれています。
Transformer
Transformerとは、上の三つの技術が誕生したのちにできた技術で、Attentionと呼ばれるモデルを用いたものです。
Attentionとは、自然言語の文脈を考慮して単語の意味を導出するといった機構であり、これを用いることで、現在よく使われている機械翻訳などの技術も実装可能となりました。
深層学習(Deep Learning)を使用したWEBアプリ
長くなりましたが、ここまで深層学習とは何かを説明してきました。ここからは、そんな深層学習を用いて作られているアプリを9つほど紹介します。
AvatarSDK
こちらは、アメリカのitSeez3D社が開発したアプリで、一枚の人の写真から3Dアバターを作成するといったものです。実物よりもかわいいアバターが作成されるのだとか言われています。
Talk to Books
こちらは本屋で自分の興味のある分野の本を買いたいときに使えるアプリです。実際に私たちが本屋で本を買うとき、買う本が決まっていればタイトルからその本を探すと思うのですが、それが決まっていないと、おおよそは本を表紙やタイトルから判断することになります。
しかし、これでは本の本質がわからず、本当に自分にとって興味がある本を見逃してしまうかもしれません。そういった時に使えるのがこの「Talk to Books」です。
このアプリは、Googleが開発したもので、文章レベルで本を検索することが可能になりました。これにより、買う当てがなく何となく本屋に行っても、興味のある本が見つけられそうですね。
Khrome
皆さんには、カラーパレットについて悩んだ経験がありますか。WEBページを作成したりする際に、色合いを決めるのって案外難しいですよね。そういった悩みを解決してくれるのがこの「Khrome」というアプリです。
このアプリでは、事前に自分の好きな色を50色登録しておくと、AIが勝手にカラーパレットを提案してくれます。これにより、カラーパレットで悩むことはなくなるでしょう。
Emoji Scavenger Hunt
こちらは、Googleが開発したゲームです。どういったものかというと、指定された絵文字と同じものを現実の世界で見つけて、制限時間内にカメラに写すといったものです。例えば、テレビの絵文字が指定されたらテレビを写すといったような感じです。
Logojoy
こちらは、さきほどのカラーパレットを作成するためのアプリであるKhromeと少し似ていて、ロゴデザインをAIが提案してくれるといったものです。
ロゴのフォントや色、アイコン等を選択すると、いろいろなパターンのロゴを提示してくれて、その中から気に入ったものを選べるといったものです。ロゴデザインはとてもセンスが問われる部分なので、ここをAIに任せられるのは非常に便利ですよね。
Personality Insights
このアプリは、AIを用いて性格診断を行うといったものです。最近では、さまざまなウェブサイトで性格診断や、職業適性検査等を見ると思います。こちらのアプリもその一種です。
複数の質問に対して答えを入力するだけで自分の性格を分析してくれるので気軽にできて面白いですよね。
waifu2x
皆さんは、インターネットから画像を保存してそれを使用するときに、画像のサイズの小ささに困ったことはありませんか?そういった悩みを解決するのがこのwaifu2xです。
このアプリでは、AIが滑らかに画像を拡大してくれるため、画像の大きさに困る必要はもうありません。
Let’s Enhance
こちらは、先ほど紹介したwaifu2xと同様、画像の拡大を行うためのアプリです。こちらのアプリで加工をしたほうがwaifu2xで加工するよりも、輪郭がはっきりしているのですが、滑らかさはないような仕上がりでした。
これに関しては、一長一短だと思うのでどちらも使ってみて、使用感が良いほうを選べばよいと思います。
LAUNCH EXPERIMENT
このアプリは少し面白く、ラップを聴くことが出来るといったものです。音楽に合わせて、AIの合成音声がラップを読み上げます。
まとめ
この記事では、深層学習を用いて作られているアプリをいくつか紹介したのですが、興味を持ってもらえたでしょうか。深層学習は、これから先ますます進化していくことが予想され、いずれは私たちの生活に欠かせないものになるでしょう。
そんな深層学習・AIの進化を楽しみにしつつ、少しでも理解を深めていただければ幸いです。
この記事の執筆・監修者
「BtoB領域の脳と心臓になる」をビジョンに、データを活用したアルゴリズムやソフトウェアの提供を行う株式会社アイディオットの編集部。AI・データを扱うエンジニアや日本を代表する大手企業担当者をカウンターパートにするビジネスサイドのスタッフが記事を執筆・監修。近年、活用が進んでいるAIやDX、カーボンニュートラルなどのトピックを分かりやすく解説します。