• 締切済み

ディープラーニングのロジックがわかる具体例

どうも おっさんです。 遺伝的アルゴリズムというものに興味をもち https://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/GA/GA.htm 上記ページの 4.4 GAの適用例 を眺めて具体的なロジックがわかりました。 で、ここから本題ですが、遺伝的アルゴリズムに関係してると推測する「ディープラーニング」のロジックがわかりません。解説ページを見てみても複数階層のうんたらという定義というか言葉だけの説明、もしくはそのロジックが組み込まれたツールの使い方の解説ページだったりで、具体的な思考の流れがみえないのです。 上記URLの遺伝的アルゴリズムの解説ページのように具体例をあげてロジックを解説してくれてるページ、もしくはおすすめの本があれば教えてください。

みんなの回答

  • chachaboxx
  • ベストアンサー率23% (412/1777)
回答No.1

有名というか、話題になったのは「Googleの猫」ですね。 生命体の進化も言ってみればDeep Learningの結果です。

関連するQ&A

  • 遺伝的アルゴリズムのプログラミングについてですが・・・

    遺伝的アルゴリズムのプログラムの基本的な流れが↓のページ http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/GA/GA.htm に 【1.初期化 2.生物集団の評価 3.交叉 4.突然変異 5.各個体の評価 6.淘汰】と書かれてあるのですが、 f(x) = sin(3x) + 0.5sin(9x) + sin(15x + 50) [0.1]区間の最大値を求める↓のプログラム http://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/genetic/C++/gene_f.txt  に当てはめるとどの部分がどこに当たるのでしょうか…(また、このプログラムはどこからどのように読んでいけばいいのでしょうか…)。一応コメントが書かれていますがよく分かりません><; わかる方がいらっしゃいましたらよろしくお願いしますm( _ _ )m また、遺伝的アルゴリズムのプログラミングをする際の注意点があれば教えてください。

  • <再度> 強化学習(Q-learning)について

    はじめまして。 以前質問させていただいたのですが、回答が0であっ たため、再度質問させていただきました。  どなたかすこしでも情報をお持ちの方がいらっしゃいましたら、何卒よろしくお願いいたします。 (自分で手当たり次第に調べてみても、見つからなか ったので・・・・) 私は現在大学院の研究において専門外ながら、強化学 習(Q-learning)について調べている者です。 学習アルゴリズムについてはGAやEPなどでプログラム を組んだ経験がある程度です。(あくまで、専門外です。) 以下の点についてご存知の方がいらっしゃいましたら、お聞かせいただきたいと思います。 Q-learningでは 「状態sで行動aをとったとき、確率的に状態がs'へと 遷移し、同時に確率的に報酬rが得られる。」 その後それらによってQ値を更新する。  ということのようなのですが、このときの報酬rがそ の後の行動の影響を受けてしまいかねないようなモデ ルではQ-learningは使えないのでしょうか? また、上記のようなモデルにおいて適したアルゴリズムをお知りの方がおられましたら、お聞かせいただけないでしょうか?  よろしくお願いいたします。

  • Excelソルバー相当のライブラリはありませんか?

    Excelソルバー http://office.microsoft.com/ja-jp/excel/HP051983681041.aspx を離散データに対する最小二乗法による曲線推定に使っています。アルゴリズムはGRG2(Generalized Reduced Gradient)で、少し調べたところ、準ニュートン法や共役勾配法も選択できるようです。 このExcelのソルバーは大変有効ではあるものの、今は手作業で推定しなければならないため、オンライン化(phpからコール)したいと思っています。 Excelソルバーに相当する、準ニュートン法や共役勾配法等の非線形最適化プログラムのフリーなCソースはどこかにあるでしょうか?できればphpからコールしたいのですが、なければCソースをなんとかしようと思っています。 ここ http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/nonlinear/nonlinear.htm#2.2 でソースを見つけましたが、偏微分関数も与えなければならないようです。Excelソルバーでは離散データのみを与えます。 どなたかご教示いただければ幸いです。

  • 2次関数の最小値をC言語とGAを用いて求めたいです

    私は機会系の大学生のものです。 今回は 2次関数の最小値をプログラムのC言語と遺伝的アルゴリズム(GA)を用いて求めたいのですが 私がC言語が素人のためプログラムを作れません...。例として教えていただけると幸いです。 よろしくお願い致します。

  • ディープラーニングって何ですか?

    ディープラーニングって何ですか?機械学習とどう違いますか?

  • ディープラーニングでできるようになったことって

    最近、人工知能のニュースや記事などで、ディープラーニング(深層学習)というのをよく見ますが、ディープラーニングで実現できるようになったことって具体的にどういったことがありますか?

  • 非線形計画法について

    非線形計画法を現在勉強しています。 1. どういうときに線形でどういうときに非線形となるのか良く分かりません。 例えば、ある従属変数yを線形関数f=Σcx で表したいときにパラメータcの絶対値の和が定数bより小さくなるという制約のもとで、yとfの二乗誤差を最小化するパラメータcを求める問題を考えます。 この場合、制約条件はcについて線形ですが、最小化したいのは、yとfの二乗誤差なのでこの場合は非線形ということになるのでしょうか?それとも関数fはcに関して線形関数なので、線形計画法で解くことになるのでしょうか? 2. 以下のサイトで勉強しているのですが、このサイトにある楕円型の等高線はおそらく、従属変数yと目的関数fの誤差を表しているのだと思うのですが、なぜ「楕円」になるのですか?二乗誤差を考えるのならば、「円」になるのではと疑問で仕方ありません。 http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/nonlinear/nonlinear.htm#2.2 疑問が晴れずにもやもやしています。 回答もしくはアドバイス、よろしくお願いします。

  • 『オブジェクト化』の実装例が よく分からない

    『オブジェクト化』の実装例が よく分からない 保守性を高めるために オブジェクト化を進めることが大切なのは 雰囲気的に分かります。 ところが、実際に何をすればよいか、という段階になると 具体策が見えてきません。 以前に、下記の回答が出されていましたが 意味が良く分からないで困っています。 ========== 過去の回答 ======== http://okwave.jp/qa/q8601972.html ・マジックナンバー、マジックストリングを排除する オブジェクト内に定数プロパティとしてまとめ ・処理のメソッド化 「変数・定数をすべて1つのオブジェクトにまとめる」 「処理はオブジェクトのメソッドにまとめる」 更に、定義したオブジェクト類は別ファイルに切り離し、 そのスクリプトファイルをロードするようにすれば、 ページデザインと処理(ビジネスロジック)も切り離し別々に管理できます。 ========================= これより分かりやすい実例を教えていただけますでしょうか。 ありがとうございます。

  • ハーディワインベルグの問題について質問です。

    https://biology-manabiya.net/ch-24/ 上記のサイトの問3の問題で,スライド5の解説に, 「AAの人はA遺伝子を2つ,Aaの人はA遺伝子を1つもつ」という部分が分かりません。 なぜA遺伝子を2つもつと2をかけなければいけないのでしょうか。 36×2+48×1=120という計算式になる意味がどうしても分かりません。 出来ましたら具体的に詳しく教えて頂けますと幸いです。 背理法で,「2をかけなけないと,ハーディワインベルグの法則が成り立たないから」という解説はご遠慮下さい。 なぜ「遺伝子を2つもつと,2をかける必要があるのか」を具体的に教えてください。 よろしくお願い申し上げます。

  • Javaでの遺伝的アルゴリズムの実装について

    別のWebサイトでも質問させていただいているのですが、 double[][] a={ {1,1,1,1,1,1,1,1,1,1}, {1,2,1,4,1,1,1,8,1,1}, {2,2,2,2,2,2,2,2,2,2}, {2,2,2,3,2,2,2,3,2,2}, {2,2,2,2,2,4,2,2,3,2}, }; のように予め決められている2次元配列(a[0],a[1],a[2],a[3],a[4]それぞれが遺伝子)と、 double[] fitness={50,100,60,90,120}; のように遺伝子それぞれに対応している適応度があるとして、(適応度は別プログラムで計算済み) 遺伝的アルゴリズムで予め設定された遺伝子と適応度をエリート及びルーレット選択、交叉、突然変異を行う(一世代のみ)プログラムをJavaを用いて作りたいのですが、 Web上にある例となるClassは初期集団をランダムで生成した上で、ランダムに生成された遺伝子に対し適応度計算を行い、それを選択、交叉、突然変異を行うClassに投げるものがほとんんどです。 なので、適応度計算を行わずに既にある遺伝子と適応度をどのようにして結びつけるのか、もともとランダムに生成された遺伝子に適応度計算を行うこと、複数世代行うことを前提に設計されている選択・交叉・突然変異等のClassをどう変更すればよいのかわからず、手詰まりになってしまいました。 周りの知り合いに聞いても、Javaは少しならわかるが専門外、遺伝的アルゴリズムは勉強したことがない人ばかりなので、聞きたくても聞けない状況となっております・・・。 遺伝的アルゴリズム及びJavaに詳しい方、どなたか実装例を教えていただけないでしょうか? 参考にさせていただいたURL:http://www.ics.kagoshima-u.ac.jp/edu/ProgramingJava/samples/SimpleGA/step1/index.html#GA%20%E3%82%AF%E3%83%A9%E3%82%B9