2020年度目白祭研究

〜ディープラーニングとNeural Network Console〜

パソコン上でディープラーニングをやってみよう!という発想から、AIツールNeural Network Console(NNC)を体験しました。

メンバー

班長:T.M
会計:N.A
目白祭:K.M
HP係:S.A
班員:K.T
班員:M.A
班員:Y.R

研究の概要

私たちは見ている文字やものを見て、これは〇〇だ!と見分けることができますよね。

これを機械でもやってみましょう!ということで、Neural Network ConsoleというAIツールを使って、ニューラルネットワークを用いた画像解析を行いました。

ヴァイオリン、コントラバス、クラシックギターの写真がシャッフルされたデータセットから、ヴァイオリンの写真だけを見分ける分類を行いました。

機械学習とは

機械学習することで、データに潜むルールやパターンを得ることを言います。

機械に取り込んだ入力データから、特徴量を抽出します。

※特徴量:個々のデータが持つ何かしらの特徴を数値化して表したもの

機械学習は、
  • 教師あり学習
  • 教師なし学習
  • 強化学習
  • の3つに大きく分類でき、今回制作に用いたニューラルネットワークは教師あり学習に分類されますが、図1のように表されます。


    図1 機械学習
    参考:初心者でもわかるディープラーニング

     教師あり学習とは学習データに正解を与えた状態で学習させる手法です。

    正解データ(目的変数という)を含むデータセットを入力として使用します。

    目的変数を除く残りのデータ(説明変数という)から得られる出力結果に注目します。

    その出力結果の値ができるだけ正解に近くなるような特徴量を探し出してモデルを形成します。

    正解データを持たないデータセット(新規データという)に作成したモデルのパターンを適用すれば、そのデータの予測結果を得ることができます。


    図2 予測技術の仕組み

    ニューラルネットワークとは脳の機能をコンピュータでシミュレーションする技術です。

    過去に蓄積された、どのような条件の時にどのような結果になったかというデータを元にして、条件から結果を予測し学習します。そして予測時には学習したニューラルネットワークを利用して、もしこのような条件であれば結果はきっとこうなるだろうという予測を行います。

    私たち人間は日常的に経験・認識から自然と結果の予測ができていますが、ディープラーニングを用いることで、機械によって予測を自動化することができる可能性があります。

    予測が機械によって自動化できるようになれば、人では処理しきれないほどの大量のデータから学習することでより正確で効率的な結果が期待できます。


    図3 ニューラルネットワークとディープラーニング

    上の図3を見てください。

    ニューラルネットワークとは人の脳のネットワーク構造をコンピュータでシミュレーションしたものです。

    パーセプトロンという階層構造をしていて、

  • 入力層:正解データ(目的変数)を機械が受け取る場所
  • 中間層:データから特徴量を抽出する場所
  • 出力層:学習結果を受け取る場所
  • と呼ばれる層からなっています。

    図のように、各層には「◯」で表現されるニューロンが配置され、ニューロン間は「ー」で表現されるエッジで結ばれます。ニューラルネットワークにおける学習では、層から次の層へデータを送っていくことで計算を行います。

    今回の画像認識では入力層に画像、中間層で計算、出力層に計算結果として認識結果の数字として'0', '1'が出てくるといったものになっています。

    ディープラーニングというのはニューラルネットワークの層の数を多層にしてニューロンの数が非常に多い形をしていて、大規模な学習と高い性能が期待できます。