2016年10月2日 更新

Juliaで学ぶ画像処理〜cifar-datasetsでニューラルネットワーク〜

今回も前回に引き続き、ニューラルネットワークを実装する方法についてご紹介します。

307 view お気に入り 0

1. 今回用いるデータについて

こんにちは、今回も前回に引き続き、ニューラルネットワークを実装していきたいと思います。前回の記事は以下からご覧ください。

Juliaで学ぶ画像処理〜ニューラルネットワーク(Neural Network) part1〜

Juliaで学ぶ画像処理〜ニューラルネットワーク(Neural Network)part2〜
① 10個の分類画像

① 10個の分類画像

こんなことができると夢が広がりますよね!これを可能にするのが機械学習、ニューラルネットワークです。

2. 用いるニューラルネットについて

今回は入力として(32,32,3)の画像を考えます。32 x 32 の画像にRGBの3つの色の値があります。

・ConvolutionLayer(name="conv1", n_filter=20, kernel=(5,5),bottoms=[:data], tops=[:conv1])

たたみ込み層です。(5,5)の大きさのたたみ込みを行います。n_filterはフィルターの数になってます。以下の図は「Convolutional Neural Networkを実装する(http://qiita.com/icoxfog417/items/5aa1b3f87bb294f84bac#_reference-1e2766fa43d0bc1f8af5)」を参考にしました。
② Convolution

② Convolution

この層の出力は(32,32,20)となります。



・PoolingLayer(name="pool1", kernel=(2,2), stride=(2,2),bottoms=[:conv1], tops=[:pool1])

プーリングと呼ばれる操作を行います。プーリングは前の出力層を粗くするリサンプリングする操作になりますが、これにより画像の多少のズレによる見え方の違いを吸収することが可能になります。
③ プーリングの様子

③ プーリングの様子

・InnerProductLayer(name="ip1", output_dim=500, neuron=Neurons.ReLU(), bottoms=[:pool2], tops=[:ip1])

ネットワークの重みと出力層との重みとの内積を計算し、それを出力します。ここで用いられるneuronとは、計算された値によって出力層をどのように決めるかというのを決定したものです。今回はReLUですので、以下のようなものが用いられます。
④ ReLUについて

④ ReLUについて

・SoftmaxLossLayer(name="loss", bottoms=[:ip2,:label])

作った層を学習していくために、なんらかの基準を設ける必要があります。機械学習の分野ではこれを評価関数といいます。上の例では出力(予想値)とlabel(実際の値)とをみて、出来るだけ一致させたいという目的のもと、SoftmaxLossLayerを構築しています。

3. 初期設定、データのインストール

まずはgithubの以下のページからcloneしてください。前回のmnistをした人はこれは飛ばしてもらって大丈夫です。Mocha-documentation(https://github.com/pluskid/Mocha.jl

クローンしたらexmaples/cifar10よりフォルダに移動してもらって
30 件

関連する記事 こんな記事も人気です♪

Deep learningで画像認識③〜ネオコグニトロンとは?〜

Deep learningで画像認識③〜ネオコグニトロンとは?〜

Deep learningは、画像認識において大きな成功を収めています。そこで用いられる多層ネットワークは、畳み込みニューラルネットワーク(convolutional neural network:CNN)と呼ばれており、画像認識に適した独特の構造を持っています。
木田智士 | 8,606 view
Deep learningで画像認識②〜視覚野と畳み込みニューラルネットワーク 〜

Deep learningで画像認識②〜視覚野と畳み込みニューラルネットワーク 〜

前回に引き続き、Deep learningで画像解析についてご紹介します。今回は、畳み込みネットが画像認識に適している理由を解説しようと思います。
木田智士 | 6,340 view
人工知能エンジニアMeetUp!#3〜医療ビッグデータの活用〜のまとめ

人工知能エンジニアMeetUp!#3〜医療ビッグデータの活用〜のまとめ

先日、「人工知能エンジニアMeetUp」と題して、医療ビッグデータの活用に関する講演がありましたのでその模様をご紹介します。
画像処理・画像解析エンジニアMeet Up! #3 〜Lp-tech2周年特集〜を終えて

画像処理・画像解析エンジニアMeet Up! #3 〜Lp-tech2周年特集〜を終えて

2016年7月22日に画像処理・画像解析エンジニアMeet Up! #3 ~Lp-tech2周年特集~がありました。様子についてご紹介します。
LP-tech2周年記念#人気記事のまとめ#第5位〜第1位

LP-tech2周年記念#人気記事のまとめ#第5位〜第1位

LP-techが始まってから2周年を迎えました。ここまでLP-techを続けることができたのも読者の皆様のおかげだと思っています。そこで、LP-techの感謝祭ということで、人気の記事を第20位から第1位までをご紹介します。今回は第5位〜第1位までです。

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部