流行しているディープラーニングとは?できることは何?ディープラーニングという言葉をご存じですか?ここ数年盛り上がりを見せている人工知能に関連する言葉なのですが、聞いたことはあっても意味を知らないという方は多いのではないでしょうか?この記事では、ディープラーニングの概要やできることやできないこと、ディープラーニングの仕組みなどを中心に解説します。目次ディープラーニングとは?ディープラーニングでできること・できないことディープラーニングの仕組みディープラーニングと機械学習の違いとはディープラーニングはWeb開発でも使えるディープラーニングを使ったWebアプリの事例ディープラーニングを使ったWeb開発で使用できるapiまとめディープラーニングとは?ディープラーニングとは、深層学習点入って十分なデータを与えることによって、人工知能が人間の力を借りずとも自動的にデータを取り込み学習していく仕組みのことを指します。ディープラーニングが注目されてきたのは、近年ですが、理論として最初に登場したのは1980年代でした。当時はまだ現代のように、ビッグデータを処理する能力がコンピューターにはなく、かつそれほどまでに大きいデータを入手することが容易ではなかったため、ディープラーニングは当時ではそこまで発展する事はありませんでした。現代では、ビッグデータは比較的簡単に入手できるようになり、コンピューターの性能も1980年代から飛躍的に向上しているため、ディープラーニングの研究を加速度的に進めることが可能になったことから、急激にディープラーニングの名前が広がり、多くの人が1度は聞いたことがある名前までになったのです。ディープラーニングでできること・できないことディープラーニングでできること、できないことはディープラーニングの研究に携わっていたり、特に興味がある人以外は曖昧なのではないでしょうか。ここではディープラーニングでできること及び、できないことを説明します。動画や画像、文字や顔などの特徴を認識して識別する技術です。人間の音声を認識して識別する技術です。誰の声なのか聞き分けたり言っている言葉をテキストに起こすなど様々なことが行なえます。Google、Amazonのアレクサなどが挙げられます。人間が日常の中で使う言葉をコンピューターに認識させて処理させる技術です。工場など産業に関係する施設に設置されたセンサーから取得しているデータを参照して異常の兆候を検知する技術のことを指します。例としては工場における故障など異常事態が発生しないか監視して、兆候が発生した場合は異常検知として知らせる機能が該当します。万能なように感じるディープラーニングですが、ディープラーニングによる学習に必要となるデータは、有限であるため精度を完璧にすることはできません。仮に有名人の顔写真を判別するにしても、成功率100%にはならず、必ずミスをする割合が一定数出てくるため、現在の認識ではディープラーニングからミスをなくすことは不可能なのです。「ミスをなくす」ことがディープラーニングでもできないことなのです。ディープラーニングの仕組みディープラーニングはデータを蓄積して自動で学習していく仕組みですが、その核となるのがニューラルネットワークです。ニューラルネットワークは、人間のニューロンを真似して構築された分散処理システムで、「ノード」と呼ばれる神経細胞に相当する機能が隣接して接続されており、多重層で構成されています。層は「入力層」「隠れ層」「出力層」の3種類あり、入力層が投入されたデータを受け取り、隠れ層が入力層と出力層の綱渡しを行って出力層が判定した結果を出力します。3つの層のうち、隠れ層が入力されたデータに対して重み付けを行っており、出力層が行う判定に大きな影響を及ぼします。多くのデータを投入することによって隠れ層が強化され、より正しい結果を出力層に渡すことができるようになります。例を出すとポメラニアン犬の画像を投入した場合、入力層が画像を受け入れて隠れ層がいままで投入されたデータの中から類似した情報を精査します。そこで「犬」と「ポメラニアン」の特徴に合致する情報を見つけてきて出力層に渡し、「画像は犬で犬種はポメラニアンである」という最終決定された回答が出力されるのです。ディープラーニングと機械学習の違いとはディープラーニングと機械学習は同一視されがちですが、この二つが決定的に違う点はニューラルネットワークを使用しているかどうか、です。機械学習はニューラルネットワークを使用せず、あくまで学習のアルゴリズムは可視化されており、与えられたデータをどのように処理して、最終的な結論を導き出したのかがわかるように作り出されています。ディープラーニングはニューラルネットワークを使用している関係上、どうしてその結論に至ったのかについては、可視化されていません。ブラックボックスなのです。結論に至る過程がわからないなんて、少々恐ろしく感じますが、人間の脳を模して作られているニューラルネットワークが組み込まれており、人に近い考えを持つことを目標として作られているディープラーニングにとって、過程がわからないという点については、ごく自然と考えることもできるでしょう。ディープラーニングはWeb開発でも使えるディープラーニングはあまりにも高度な技術を使用されている印象が強いかもしれませんが、実はディープラーニングを使用したWebアプリケーションの開発は難易度が高くありません。ディープラーニングを使用したWebアプリケーションを開発する場合は、ディープラーニング自体を開発するのではなく、ディープラーニングのAPIを利用してwebアプリケーションに組み込むというかたちになります。作りたいWebアプリケーションに適切なAPIさえ選べば開発はスムーズに行えるのです。人工知能やディープラーニングといった技術が一般的になった昨今ではより機械学習やディープラーニングなどAIに関係する技術の需要が高まっています。今後はwebアプリケーション開発においても、ディープラーニングやAIに関連する技術は重要な要素になってくるでしょう。ディープラーニングを使ったWebアプリの事例ディープラーニングを使ったWebアプリケーションは、既に世の中にいくつもリリースされています、ここではディープラーニングを使用しているWebアプリケーションで代表的なものを紹介します。・ディープネットワークを用いた白黒写真の自動色付け早稲田大学の研究者が作ったこのサービスは名前の通り、ディープネットワークを使った白黒写真に自動で色を付ける為のサービスです。白黒写真をホームからアップロードするだけで色を付けてくれます。実際はカラーの写真もアップロードできるため、カラー写真に色を付け直すということも可能になっています。http://hi.cs.waseda.ac.jp:8082/・PaintsChainerディープラーニングによる自動線画彩色サービスで線画のイラストをアップロードするだけで色を塗ってくれます。PaintsChainerは、「AIが自分の書いた絵に自動で色を塗ってくれる」というわかりやすいテーマから、マニアックな世界だったディープラーニングを一般層の人達に広く周知したサービスでもあります。MusicAIが自動で作曲編集を行ない即興で曲を作ってくれます。Musicで作成した曲は、ロイヤリティフリーのため自由に使うことが可能です。コンピューターが自動で作曲するという点が画期的で多くの注目を集めました。ディープラーニングを使ったWeb開発で使用できるapi以前の章で公開されているAPIを使用することによってディープラーニングを使ったWeb開発ができると説明しました。ここでは現在リリースされている主要なディープラーニングを使用しているAPIを紹介します。・wit.aiwit.aiは無料で提供されているAPIで、自然言語処理をサポートするサービスです。wit.aiを使用することでチャットボットやsiriのような音声に応答するサービスを開発することができます。β版ですが日本語も対応しているため、扱うことができます。ブラウザで動作するため、比較的扱いやすくてディープラーニングを使用したWebアプリケーション開発がはじめての人でも使いやすいAPIでしょう。APIGoogleの画像検索にも使用されているAPIで、画像の中に写っている物体や顔を検出したり、テキストを見つけて抽出するなどさまざまなことができます。Storageと連携することが可能です。・IBMWatsonSTT高精度な音声認識機能利用できるAPIで、日本語だけではなく、英語などが同時に発せられている現場の音声も解析可能です。まとめディープラーニングを使うことによって、画像や音声などの情報を蓄積することで顔認証や車の自動運転、Siriやアレクサなど音声入力デバイスの開発が可能になりました。ほかにもさまざまなディープラーニングを使用したWebサービスが展開されており、Webアプリケーション開発にもディープラーニングAPIを使用することによって、AI機能を絡めたアプリケーション開発を可能にしています。今後さらにディープラーニングが発展していくことが見込まれており、Webアプリケーション開発エンジニアはAIについての知識を求められることも多くなるでしょう。・モバイル業界を得意分野とするライターとして活動。様々なオウンドメディアで記名記事を執筆している。