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

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

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

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

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1567閲覧

深層学習 CNNの層構造の決め方がわからない

surphy

総合スコア101

深層学習

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

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/19 03:35

編集2019/11/19 03:37

深層学習を行うときにどのくらい複雑な層構造にすればいいかがわかりません。
どのように層構造を考えていけばいいでしょうか。
理論の勉強と試行錯誤でしょうか。

なお、深層学習の内容は、「添付画像のような円が描かれた画像と各画像の直径を深層学習により学習し、自動で円の直径を測定できるようにする。」というものです。
生成した円の画像。円の位置と直径はランダムに決めている。

これは、回帰の深層学習にあたり、画像の学習のため、CNNを使うといいだろうというところまで、なんとなく理解しています。

なお、6000個のデータを生成し、10%をテストデータとして、直感Deep Learningという本に出てくる(P.87)の層構造を少し変更したもので試していて、
loss: 5.4620 - acc: 0.1720 - val_loss: 5.8723 - val_acc: 0.1713
という結果です。

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

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

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

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

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

guest

回答2

0

この程度のタスクだと、CNNまで使わなくてもハフ変換でもかけてパラメータを取り出せばそれで済みそうです。

投稿2019/11/19 04:52

編集2019/11/19 04:52
hayataka2049

総合スコア30933

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

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

surphy

2019/11/19 05:13

深層学習の勉強のために(簡単と思われる)例を考えて実行しています。 違う方法でもできることはわかるのですが、深層学習を使って解決したいのです。
Q71

2019/11/19 13:29

畳み込み層による深層学習を何通りか試みましたが、「教えていないことは何が返ってくるかわからない」という特徴があるように思います。このことがマイナスにならないことは、考慮済みでしょうか。「マイナスに働くことを知る」ことも、勉強ではありますが。
hayataka2049

2019/11/19 13:55

一般的には単純な問題には単純な構造を使ったほうが良い結果が得やすいと思います。 # つーか深層学習使わないでやるなら、ハフ変換なんかしなくても縦か横に走査して白が連続する数の最大値を取るだけか・・・
surphy

2019/11/19 13:58

教えていないことは何が返ってくるわわからない(教えていないことはできない)ことは理解しているつもりです。しっかりと深層に教えてあげたいと思っています。 今回は、とにかく深層学習の使い方をざっくりと知るために取り組んでいます。 最終目標は人間でしかできないことを深層に学習させて、作業の自動化に貢献したいと考えています。
surphy

2019/11/19 14:02

hayataka2049さん コメントありがとうございます。 単純な構造に直して、学習させてみようと思います。 また本構造でもデータ数をずっと増やして学習させてみようとも思います。どうやら転移学習という手法があるみたいなので。
hayataka2049

2019/11/19 14:05

目的と手段を混同していそうなのがいささか気になります。 勉強ならそれこそMNISTとかの方が良いと思いますが…… # でも、うまくいかないことを実感するのもそれはそれで勉強になるからいいのか
surphy

2019/11/19 14:10

MNISTについての勉強が足りないということには反論できません。 ただMNIST関連だと分類問題の例題しかまだ見たことがありません。 回帰問題を解けるようになりたいのです。 もし分類問題と回帰問題に本質的な違いがない(分類問題の基礎を理解できれば、回帰問題も自ずと理解できる)ということであれば、もっとしっかりMNISTを勉強しようとも思います。 そこらへんいかがでしょうか。
hayataka2049

2019/11/19 14:16

MNIST自体はただのデータセットなので、それをしっかり勉強するといった感覚はずれているように思いますが…… 本質的な違いがあるかどうかは理論面を理解していれば自ずとわかると思うので、あまりよくわからないのであれば「ゼロから」を読み込むところからでしょう
hayataka2049

2019/11/19 14:17 編集

分類と回帰、多層ニューラルネットワークの場合は雑に言えば出力層の違いだけですが、CNNで単一の目的変数に回帰するタスクってあんまり思い浮かばないので、そんな滅多にやらないことをわざわざやらないでも……と思います。 (もっと特殊な回帰として解かれているものは色々とあるが(object detectionとかsemantic segmentationとか)、そんなのは初学者がやらなくてもいい)
surphy

2019/11/19 14:49 編集

まだ理論面の理解が甘いです。ちょっとまずいなと思うので、そちら方面を強化したいと思います。 ただ、今はとにかく手を動かしてみているところでした。 理論面が甘いと思えたことも収穫の1つと捉えてがんばります。 >CNNで単一の目的変数に回帰するタスクってあんまり思い浮かばないので、そんな滅多にやらないことを>わざわざやらないでも…… そうなんですね。 だから本などみても画像を使った回帰の例題がないのですかね。
insecticide

2022/08/05 19:50 編集

> ハフ変換 《 Hough Transformation》 https://en.wikipedia.org/wiki/Hough_transform https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%95%E5%A4%89%E6%8F%9B#%E3%83%8F%E3%83%95%E5%A4%89%E6%8F%9B%E3%81%AE%E6%9B%B2%E7%B7%9A%E3%81%B8%E3%81%AE%E5%BF%9C%E7%94%A8%E3%80%81%E4%B8%80%E8%88%AC%E5%8C%96%E3%83%8F%E3%83%95%E5%A4%89%E6%8F%9B https://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm#:~:text=The%20Hough%20transform%20is%20a%20technique%20which%20can,regular%20curves%20such%20as%20lines%2C%20circles%2C%20ellipses%2C%20etc. https://qiita.com/YSRKEN/items/ee94c7c22599c2374722 最高の利用ケースですね。 円の大小、位置、数に依らず、全部任意で、訓練も要らず、楕円とそのパラメーターまで検出できます。 こんな場合「ハフ変換」を利用しなければ、、、、 ただし、「ハフ変換」を利用するには画像の2値化かその代替案としてのgradientを求める必要で、これらを試行錯誤的に行うべきなので ➡ 簡単そうで難しい。 カラー画像の場合、各チャンネル別にハフ変換を行うのは理想化も知りませんね。 算法的に並行性あります。
guest

0

自己解決

層構造の決め方については、文献をあたり地道に学んでいきます。

投稿2019/11/24 10:11

surphy

総合スコア101

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問