質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4277閲覧

全結合層のパラメータ数

reiwa2277

総合スコア4

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/08/21 06:03

CNNの過学習の要因として計算量のほとんどは畳み込み演算であるため.
全結合層のパラメータ数を減らせばいいと, なくせばいいと済む話と単刀直入に思ったのですがネットや資料をみるとDense(1024), Dense(4096)などよくみるので
① 全結合層がある利点, メリットはなんですか?また, 全結合層をなくすとパラメータ数が減るのは分かりますが, デメリットなどありましたら教えていただきたいです。

またVGGでは3*3の畳み込みを何度か繰り返し,畳み込み層数を倍にするという作業をやっていますが
② 畳み込み層数を倍にするメリット・デメリットがありましたら教えてください。
③ 畳み込み層の層の数を変えることによってパラメータ数が変わっていくと思いますが,過学習に影響するかどうかも教えていただきたいです。

いろいろ曖昧なことばかりで質問だらけになってしまいすみません。
どなたか力を貸していただけるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikadzuchi

2019/08/21 12:18

> CNNの過学習の要因として計算量のほとんどは畳み込み演算であるため. > 全結合層のパラメータ数を減らせばいいと, なくせばいいと済む話と単刀直入に思ったのですがネットや資料をみるとDense(1024), Dense(4096)などよくみるので 文章の意味が理解できません。落ち着いて書き直してください。
reiwa2277

2019/08/21 12:27

失礼しました。 参考書やネットで畳み込みのプログラムを見ていたら, だいたいDense(1024)などDenseが使われていたことが多かったので最初からGlobal Average Pooling使っちゃえばパラメータ数が抑えられるのにと思ったのですが, Denseを使わなければいけない理由があるのかなと思ってお聞きしました。
ikadzuchi

2019/08/21 14:08

だからそういう問題じゃなくて、意味の通る日本語の文章を書いてください。 ・「CNNの過学習の要因」はあなたは何だと考えていますか? ・「計算量のほとんどは畳み込み演算である」ため何ができるとあなたは考えていますか? ・「全結合層のパラメータ数を減らせばいいと, なくせばいい」と思ったのはなぜですか? ・「ネットや資料をみるとDense(1024), Dense(4096)などよくみる」のはあなたの考えとどのような点で一致しませんか? これらについて何か主張したそうな気がするんですが、あなたの文章はこれらについて何も書かれていないんですよ。まずそれを理解してください。
guest

回答1

0

ベストアンサー

全結合層がある利点, メリットはなんですか?また, 全結合層をなくすとパラメータ数が減るのは分かりますが, デメリットなどありましたら教えていただきたいです。

特徴抽出は CNN でやって、その特徴からクラス分類を行うのは全結合層でやるという2段構成になっているものが多いですが、必須ではありません。
Global Average Pooling を使えば、全部畳み込み層でクラス分類のモデルを作ることは可能です。

Global Average Pooling(GAP)を理解してみる - Qiita

少なすぎるとモデルの表現能力が問題の難しさに対して不足して精度が落ちる可能性があります。
逆に多すぎると過学習の原因になります。

畳み込み層数を倍にするメリット・デメリットがありましたら教えてください。

VGG では、プーリングで特徴マップの高さ、幅が半分になるので、その分チャンネル数を増やすことで多様な特徴を保存できるようにしています。

畳み込み層の層の数を変えることによってパラメータ数が変わっていくと思いますが,過学習に影響するかどうかも教えていただきたいです。

過学習以前に勾配法による学習データに対する最適化が難しくなり、収束しづらくなる問題が発生します。
この問題は ResNet で提案されたショートカットを追加することで、解決が図られています。

Deep Learning - ResNet の仕組みについて

投稿2019/08/21 06:21

編集2019/08/21 06:24
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reiwa2277

2019/08/21 12:32

ご回答ありがとうございます。 全結合にするのとGlobal Average Poolingを使うのは精度はあまり変わらないという解釈でよろしいでしょうか。 またVGG16では64(3,3)を二回, 128(3,3)の畳み込みを二回行なっていますが それを32(3,3)を二回, 64(3,3)を二回にそれぞれ変えたら(要するに畳み込み層の層の数を減らす), パラメータ数は減ると思いますが, 精度は下がるのでしょうか。
tiitoi

2019/08/21 12:48

> Global Average Poolingを使うのは精度はあまり変わらないという解釈でよろしいでしょうか https://arxiv.org/pdf/1312.4400.pdf この論文だと、global average pooling のほうが若干良い結果になったと報告されてますが、問題に依存すると思います。 >パラメータ数は減ると思いますが, 精度は下がるのでしょうか これも問題によります。 例えば、MNISTの数字分類とImageNetの1000分類では全然難易度が異なります。
tiitoi

2019/08/21 12:53

deep learning 全般そうですが、理論的に解析されてるわけではないので、モデルによる精度の違いなどは試さないことにはわかりません。 実際に実験する前に影響があるかどうか議論するのは不可能です。
reiwa2277

2019/08/22 13:17

それぞれ得意不得意があるわけですね、、 わかりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問