前回、図まで描いて説明したフィルタだけど、『深層学習』の6.3.3章に全部書いてありますな。。。
まあ、こういった内容は、画像処理の勉強をし始めると最初の方に出てくるのだ。
輪講とかで使ったテキストを持っていれば、今役に立ったかもしれないのに。。。
そう、なので、この辺りは深層学習というよりも、画像処理の話だろう、と思いながら読んでしまうのだ。
たぶん、時系列データに向いている再帰型ニューラルネットも、私が知らないだけで、何かそういう既存の処理が応用されているんじゃなかろうか。
この辺りが深層学習の奥が深いところですな。
さて、それでは畳み込み層の64チャネルって何よ?を続けていこう。
まず、入力画像のチャネル数は、画像に使われている原色の数(でいいのかな?)になる。
普通のカラー画像なら、RGBということで3。
モノクロなら、1。
いくらグレースケールで256段階で表現されていても、そこは1なのだ。
説明図では、チャネル数がKの入力に対して、M種類のフィルタを掛ける例になっている。
フィルタ1をチャネル1~Kの画像に掛け、次にフィルタ2をチャネル1~Kの画像に掛け・・・とやっていく。
そしてその結果は・・・チャネル数がMになるのだ!
だから、入力画像のチャネル数がいくつであっても、掛けるフィルタの数で出力のチャネル数が決まるのだ。
うん、推測は当たっていた。
では、どうやって64種類ものフィルタを決めているのだろうか?
しかも次の段では128、さらに256、512まであるのだ。
『深層学習』p.102に、conv1層のフィルタという画像が96例載っている。
カラーだったりモノクロだったり、丸っぽかったりしましまだったりと、数学的に数値を1~96まで当てはめたような感じはしない。
なにか、何かあるはず。。。
私は数学の人じゃないのだけど、結果的にうまくいった、というのはあまり数学っぽくないと思うのだ。
それが良いとか悪いとかじゃなくて、太陽を見るとまぶしい、とか、この花はきれいだ、とか、そういう感触がない気がするというだけのことなのだ。
うーん「根拠」といえばよいのかな?
ここでフィルタが64だの128だのあるけれども、なにか理由があって選ばれたものなのか、なんかランダムで作ったフィルタの中でよさそうなものを選りすぐったのかというのが気になるだけだ。
もう一度、最初に読んだ日本語の記事に戻ろう。
画風を変換するアルゴリズム | Preferred Research
最初だけ読んでいったが、全体的にどういうことをしているのかを見ておくと、何か思いつくかもしれない。
- CNNを使って画像生成する
- 新たな学習は行っていない
- VGG 16-layerのCNNモデルを使っている
- 処理は④の出力を使う
ここまでが前段になるか。
やっているのは、フィルタ処理だけだから、深層学習とかニューラルネットとか、そういうものは使っていないと思う。
使っているのか?
うーん、使っていそうなところが思いつかない。
フィルタを何段階かかましているだけのように思う。
内容は気にせず、この次の流れを見てみよう。
- CNNを10層進んでも、元の画像の雰囲気は残っている
- が、ここまで来ると主立った特徴だけが残っている感じがする
- では、消えた部分に他の特徴を足せば、そっちの特徴が強まって見えるのでは?
- 試しにゴッホ風の特徴を足してみよう
この読み方が当たっているなら、ここで使われているディープラーニングは「弱い特徴をそぎ落とす」というフィルタ処理だろう。
イメージとしては、音楽で低音を強めにしたり、声と同じ周波数帯を強めてボーカルだけ大きくしたりとか、そういう感じか。
知能的なミッドパスフィルタ、とでも言おうか。
なるほど、そういう考え方もあるのか。
ただ、どこら辺で学習した内容を使っているのかを読み取れていない。
もしかすると「どうやってフィルタを選んでいるんだ?」のところなのか??
ネコの画像から下がお話のメインなのだろうけど、その前が気になっているのだ。
うーん、もうちょっと調べるべきか?
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。