ディープラーニングは脳の神経回路を模したもので、
隠れ層が深く複雑な回路を描くようなイメージです。
ディープラーニングとは、脳の神経回路を模したニューラルネットワークと呼ばれる学習モデルを用いる機械学習のことです。入力層と出力層の間にある「隠れ層」が深いことから名付けられています。隠れ層とは「入力層から受け取った情報を様々な組み合わせで伝えていき、出力層に役立つ形に情報を変形して渡す」という役割をもつ層のことです。ディープラーニングが画期的だったのは、最適な特徴量を自動的に抽出するという点です。2011年に音声認識の分野で従来型の機械学習を大幅に上回る精度を実現したのをきっかけに、2021年の画像分類コンペティションILSVRC(IMAGENET Large Scale Visual Recognition Challenge)でも大幅な性能改善が実現されました。さらには2015年には、ディープラーニングを用いて開発された画像認識プログラムが人間の誤認識率と言われる5%を切るなど、その性能向上に拍車がかかっています。
ディープラーニング(和訳:深層学習)の意味は、学習モデルが理解しやすいように人間がデータを加工するのではなく、学習モデルを自ら「特徴量」を抽出して学習していく意味を持ちます。
ディープラーニングの種類は存在しませんが、概念にある「人工知能」の部分に着目をすると種類とともに仕組みが理解しやすいです。ディープラーニングと機械学習とAIの違いで詳しく説明をします。
ディープラーニングの実用例は有名なものですと、Googleの画像認識検索で利用されています。大勢のユーザが比較する画像をアップロードをして検索しているため、日々画像データが蓄積され、検索エンジンに搭載されている人工知能が日々学習して毎年性能が向上しています。その他プログラミング技術を利用したアプリケーションでディープラーニングは様々な場面で活用されています。
ディープラーニング(深層学習)とマシンラーニング(機械学習)とAI(人工知能)の違いは、和訳すれば理解がしやすいです。ディープラーニングを理解する上での手前の部分、即ち概念となるAI(人工知能)について説明をします。人工知能(AI)の定義は明確には存在しませんが、大まかにいうと「人間と同じような知的処理を行うことのできる技術や機械」のことです。人工知能は用途に分けて考える必要があり、「人工知能の強弱」「人工知能の汎用型と特化型」「人工知能の発展段階」の観点で分類することが可能です。
「強い人工知能」と「弱い人工知能」は、哲学者のジョン・サール氏による分類方法で、人工知能の認知的状態に着目しています。強い人工知能というのは知能を模倣することで、人間と同じような認知的状態を持った機械のことです。映画やアニメや漫画で出現する人間の言葉を話すロボットのようなキャラクターを思い浮かべるとわかりやすいでしょう。圧倒的な計算能力よって機械が人間を超えてしまう、いわゆる「シンギュラリティ」をもたらすと言われているのも、強い人工知能です。一方で弱い人工知能は、人間の知能に基づく行動を模倣することで、人間の能力の一部を代替できる機械のことです。将棋や囲碁のようなコンピュータの他、画像認識ソフトのようなイメージで理解するとわかりやすいでしょう。人工知能自体が自己の存在について何らかの認知を持っているわけではなく、ある一定のルールに則って決まった行動をする特性があります。
汎用人工知能は対象となる分野が広く、設計時には想定されていない状況でも対処できます。特化型人工知能は、限定的な状況・目的においてのみ知的な振る舞いを見せるものです。現在実現している人工知能は、ほぼ全てが特定のタスクのみに特化しているため、特化型人工知能といえるでしょう。ルンバのような掃除に特化したものは代表例です。将来、掃除だけではなく料理も子育ても介護もできるヘルパーのようなロボットが開発されれば、汎用型人工知能に分類されるでしょう。
人工知脳の発展段階の観点では、レベルに応じて分類できます。レベル1では「制御プログラム」、レベル2では「古典的AI」、レベル3では「機械学習」、レベル4では「深層学習」というように発展段階に応じて応用ができるような知能になります。
ディープラーニングとマシンラーニングはともに先に説明している人工知能の技術によって学習しています。ディープラーニング(深層学習)とマシンラーニング(機械学習)の違いは、ニューラルネットワークの学習モデルを利用した方法がディープラーニングで、効果的に学習モデルを確立するのがマシンラーニングであることです。マシンラーニング(機械学習)とは人工知能の分類の一つで、効果的にコンピュータが学習を行うための理論体系を示します。適切な処理を行えば、入力されたデータをもとに数値を予測したり最適化したり出来るため、様々な分野で活用されています。コンピュータがより高度な認知能力を持つためには、どのような基準をもとに振る舞えばよいかを決定する必要があります。この基準のことを「パラメータ」と呼びます。機械学習は入力されたデータをもとに、最も正しい振る舞いをするパラメータを自動的に決定(学習)できるため、人工知能のカギと見られています。
機械学習では、コンピュータが入力データを受け取り、学習モデルを使って計算結果を出力します。「学習モデル」とは、あるデータを入力すると、より適切な意思決定のためのデータを出力してくれる、いわば人工知能の脳のことです。例えば0〜9の手書き数字の画像データを読み取って数値を出す問題を解く場合、入力されたデータ(認識)と回答データ(出力)の出力差を繰り返し修正をすることで、次第に出力値が正解の数値になっていきます。学習モデルが完成したら、学習モデルに手書きの数値を読み込ませ、出力値を利用することで数値の画像認識を行います。
機械学習の問題は、大きく「分類」と「回帰」に分けられます。分類どのデータがどの種類に属すかを見ることが目的です。入力されるデータがいくつかのグループに分けられることを前提として、グループ内での細かな違いを無視することになります。一方の回帰は、データの傾向を見ることが目的です。分類とは反対に入力されるデータを一つのグループとして扱った上で、グループ内での違いを分析することになります。グラフ上にデータがプロット(書き込むこと)されているとすれば、分類はデータ全体をできるだけ分けるように線を引くこと、回帰はデータ全体にできるだけ重なるように、線を引くことに相当します。
ディープラーニングの特徴量は自動で算出することが画期的であることが特徴です。また判別は難しいですが、音声認識、画像認識の分野ではコンピュータの性能が向上するとともに判別の制度が向上してきました。
ディープラーニングの技術で街中の人々を識別することも可能になっています
私たち人間が人の写真を見て識別することは容易いですが、コンピュータが画像を認識して識別することは困難でした。しかし、ディープラーニングの画像認識分野では、2015年には人間をすでに上回っている成果が出ています。私たち一般層にもディープラーニングが広く知れ渡ったきっかけが、通称「Google猫」と呼ばれる研究です。この研究では猫や人間が写った約1,000万枚の画像を、YouTubeからランダムに取得し、そこから200ピクセルx200ピクセルの画像を切り出して訓練に用いました。訓練データを3日間かけてディープラーニングさせたところ、猫や人の顔画像に対して強く反応するニューラルネットワークが得ることができました。引き続き研究を進めれば、赤ちゃんがものを認識し言葉を覚えるような、きわめて有機的なプロセスをコンピュータで再現できるのではないかという期待が広まって行きました。
ディープラーニングの画像分類を理解する上で「Google猫」の用いて説明するとわかりやすいです。コンピュータの画像処理は一旦画像を画素までに分解し、隠れ層を経るた度に情報を組み合わせて複雑な画像を判断できるようになります。
ディープラーニングで利用するサーバには、計算処理能力(CPU)が高性能である必要があるため、その上位互換に位置するGPUが搭載されているサーバーに近年は置き換わってきました。GPUとは、パソコンのグラフィックカードの処理能力と同じ原理で、画質が良く動きがなめらかな描画がディスプレイで出来ることが特徴です。CPUが連続的な計算処理をすることが得意である特徴がありますが、一方でGPUは一定の速度を保ちつつ、幅広い大まかな範囲の処理(並列的な計算処理)が得意である違いがあります。ディープラーニングではコア数の多い並列的な計算処理するコンピュータが適しているため、GPUが搭載されたサーバーを用いることが特徴です。さくらインターネットで提供している「高火力サーバ」はGPUが搭載された超ハイスペックサーバです。AIを用いた機械学習、深層学習の技術を利用したコンピュータ処理をする際に、最適なパフォーマンスを発揮してくれるでしょう。
サーバーとはインターネットなどのネットワークを通じて利用者にサービスを提供するコンピュータのことです。システムを構成しているコンピュータには必ずと言っていほどサーバーは存在します。サーバーの種類や役割、仕組みなどを解説します。
サーバーを中心に構成されているシステムは精密機器のため、突然故障してしまいシステム障害に発展してしまう可能性があります。インフラエンジニアはシステム障害に備えて様々な運用に関する業務に取り組んでいます。
ディープラーニングで利用するサーバは「専用サーバ」のようなハイスペックなコンピュータが必要であるため、制約があるクラウド環境では本格的なサービスはまだ存在しません。しかし「さくらのクラウド(高火力プラン)」では短期的に高負荷の処理に適したGPUサーバを「さくらのクラウド」で利用できます。またディープラーニングと同じような処理を要求されるAIや機械学習では、利用できるクラウドサービスはPaaSに分類され、パブリッククラウドではAWS、Microsoft Azureで実現できる環境が存在します。