プログラミングの問題に関する質問

このQ&Aのポイント
  • プログラミングの問題について、神経細胞の皮膚感覚における情報処理機構と機能について教えてください。
  • 3層階層型ニューラルネットを使った符号化問題の機能を実現する方法を教えてください。プログラムの自作や学習結果の確認方法についても知りたいです。
  • 入力ユニット数8、隠れユニット数3、出力ユニット数8の情報圧縮ニューラルネットで、学習後の入力パターンに対する出力値を示してください。
回答を見る
  • ベストアンサー

プログラミングの問題

1.皮膚感覚における情報処理機構及び機能に関する神経細胞の働きにはどういったことがありますか? 2.3層階層型ニューラルネットに誤差逆伝搬学習アルゴリズム適用して符号化問題の機能を実現するプログラムを自作し実行するやり方を教えて下さい。プログラムを自作したら、学習パターンと教師信号の組をランダムに入力して学習し、学習終了後の結合荷重を用いて学習入力、学習出力、教師信号を対比して示してほしいです。また、学習後の結合荷重としきい値は機能を実現するための内部表現になっているのでその特徴を教えてほしいです。 符号化問題 入力ユニット数:8、隠れユニット数:3、出力ユニット数:8として、入力信号と教師信号が同じになるように、それぞれ下記の8つの信号を学習させる情報圧縮ニューラルネット・学習終了後の入力パターンに対する出力ユニット及び隠れユニットの出力値の示して下さい。 入力信号(1,0,0,0,0,0,0,0),(0,1,0,0,0,0,0,0),・・・(0,0,0,0,0,0,0,1)         ↓          ↓             ↓ 教師信号(1,0,0,0,0,0,0,0),(0,1,0,0,0,0,0,0),・・・(0,0,0,0,0,0,0,1) どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

2について。 FreeBSDのportsにいくつか、コードがあるようです。 そこらへんを参考にされてみては。 学生のころ、n階層の逆伝播学習のものを書いてみたことはありますが、 実質200行程度のものだった記憶が。 Rumelhartさんあたりの本を読めば、1週間くらいで、なんとかなるのでは。 これって、大学の宿題か何かですか?

参考URL:
http://www.freebsd.org/cgi/ports.cgi?query=neural&stype=all
tyabatake
質問者

お礼

ありがとうございました

関連するQ&A

  • 4階層型ニューラルネット(逆伝播法)

     現在、実験のために4階層型のニューラルネットを作成しているのですが上手く収束しません。使用は入力層、中間層2層、出力層の計4層です。  各変数はo1が入力ユニットからの出力、o2とo3は中間層ユニットの出力、o4が出力層ユニットの出力です。w43,w32,w21はそれぞれの結合強度です。biasはそのままバイアスです。変数の前にdがついてるものは変化を表したものです。etaは学習率、alphaは慣性項係数です。この値と中間層ユニット数を変更してみても収束しませんでした。  問題があるのは逆伝播法での結合強度の更新です。以下にそのルーチンを示しますのでお気づきの点がありましたらお願いします。特に問題があるのは中間層~入力層間についてだと思うのですが。。  ご意見お願いします。また、よろしければ4層以上のニューラルネットについてのサイトがあればお願いします。

  • 階層型NNの複数INPUTパターンへの対応

    現在、階層型(3層)ニューラルネットワークを利用して、システムパラメタのメモリとして活用しようと考えております。 現在、良く分からない問題点が、複数のINPUTパターンに対してNNの出力がうまく教師信号に対応することができないことです。もちろん、ひとつのINPUTパターンではうまくいきます。 この問題点を例を挙げて説明します。 (1)複数のINPUTパターンとそれに対応する教師信号を乱数で生成します。 -*-*-*-*- INPUT -*-*-*-*- | -*-*-*-*- 教師信号 -*-*-*-*- 0.015 0.845 0.112 | 0.551 0.456 0.121 0.225 0.365 0.555 | 0.841 0.453 0.231 0.199 0.846 0.745 | 0.715 0.166 0.011 (2)back propagationを用いてNNの学習 もちろんだと思いますがここが一番重要で、現在使用しているアルゴリズムの方法論を以下にmatlab形式の擬似言語で流れを書きました。 For 1:loopNUM % 複数INPUTパターンの繰り返し学習ループ dataNUM = 1; % INPUTパターンの初期化 For 1:dataNUM % INPUTパターンの変更ループ For 1:learningNUM % 各INPUTパターンの学習回数 NNOUTPUT = NN(INPUT(dataNUM,:)); % NNの出力 ERROR = ERROR_BP(NNOUTPUT,TEACH(dataNUM,:)); % このときの出力と教師信号との誤差(hidden layer, output layer) WEIGHT = weightUPDATE(ERROR); % 誤差から重み係数(閾値も)を学習。更新 end end end という感じでプログラムを進行させ、この後複数のINPUTをNNに順番に入力したところ、上手くいきませんでした。HIDDEN層の数を変えてみたり(だいたい10個前後)しましたが、だめでした。 ふがいない説明で申し訳ありませんが、どなたかご教授お願い致します。

  • 3層構造 階層型ニューラルネットワークについて

    入力層、中間層、出力層の3層構造からなる基本的な階層型ニューラルネットワークの結合荷重値はどのようにして与えられるのでしょうか? また、中間層のニューロンの数はどのようにして決められるのでしょうか?入力層のニューロンの数と相関があるのでしょうか?中間層が多層の場合、1層のニューロンの数はみな同じですか?

  • ニューラルネットの教師あり学習について質問です。

    最近誤差逆伝搬法を用いたニューラルネットについて プログラムを組んで実装してみようと思ったのですが あまり理解できていない部分があるのでよろしくお願いします。 私が作りたいのはフォントの違う数字画像の認識を 3つの特徴量(a,b,c)、3層のニューラルネット、 閾値関数にシグモイド関数、教師有り学習で作りたいのですが、 私の理解があっているかわからないのでご指摘をお願いします。 ・入力層は特徴量が3つなのでニューロンは3つ(a,b,cを入力)。 ・中間層は任意でいいということなので10つ。 ・出力層は数字が0~9までなので10つ。 教師ベクトルの与え方なのですが 出力層(0~9番とします)において各数字に対応する番号のニューロンは1、それ以外は0、 つまり 出力層の0番の教師ベクトルは{1,0,0,0,0,0,0,0,0,0} 1番目の教師ベクトルは{0,1,0,0,0,0,0,0,0,0} 9番目の教師ベクトルは{0,0,0,0,0,0,0,0,0,1} (シグモイド関数のため正確には0、1にはなりませんが・・) とあらかじめ決めておき、 教師ベクトルの学習の際は 0の画像ならば出力層は{1,0,0,0,0,0,0,0,0,0}^T となるように誤差逆伝搬を用いて中間層・出力層の重みの修正を行い、 同様に1~9の教師画像も対応する出力の番号以外0となるように 学習を行い、 識別を行いたい画像の特徴量を入力した際は 重みの修正は行わず 10この出力の誤差が最小となる教師ベクトルが第一候補、 誤差が最大となる教師ベクトルが第10候補 ということでよろしいのでしょうか? でもそうすると重みの値が一番最後に学習した教師ベクトルに 対応する重みになっているから ニューラルネット自体を10個つ用意する必要が ありますよね・・・? いま一つ理解できていないのでよろしくお願いします。

  • バックプロパゲーションでの学習について

    こんばんは。 現在私はバックプロパゲーションを用いて、あるパターン入力に対して理想の出力となる教師データを用意して、コンピュータに学習させるということを行なっています。 しかし、学習させて得られた重みを用いて実際にパターン認識させると、あらゆるパターンに対して教師データに近い値を出力してしまうという現象が起こっています。 原因がよく分からず困っています。アドバイスなどありましたら、よろしくお願い致します。

  • バックプロパゲーションによる学習について

    こんばんは。 現在私はバックプロパゲーションを用いて、あるパターン入力に対して理想の出力となる教師データを用意して、コンピュータに学習させるということを行なっています。 しかし、学習させて得られた重みを用いて実際にパターン認識させると、あらゆるパターンに対して教師データに近い値を出力してしまうという現象が起こっています。 原因がよく分からず困っています。アドバイスなどありましたら、よろしくお願い致します。

  • 長さ-荷重計測システム

    かぎ型フックにて締結されているワークの”外れ”荷重の計測に当り?手動スライダの上にプッシュプルゲージを取付け?スライダ移動量を測長ユニットにて計測 する装置を検討しております。 測定データは両方ともPCに取り込み、長さ-荷重の相関関係を調べるのが狙いです。よって共に外部出力機能が必要ですが、測長ユニット側をトリガ(例えば1mmごとにトリガ信号の出せるものを選択)として用い、その信号に応じた荷重信号を取り込めるならば成立するものと考えています。 構想段階ではミツトヨ製測長ユニット(SD-20D)からトリガ信号が出ればと考えていたのですが生憎その機能が無いとの事、繰り返し精度0.01mmを保障できなおかつトリガ信号の出せる測長ユニットを探しています。どなたかご存知でしょうか?

  • ワンタイムパスワードの予測について

    ジャパンネット銀行などから提供されるトークンで、 1分ごとに変化する6桁のワンタイムパスワードを 予測しようと考えたとき、 ニューラルネットワークを使って、 時刻を入力変数として、 教師信号をトークンから表示されたパスワードとして 1分ごとに学習させていけば、 いずれ高い精度で予測できるのでしょうか?

  • 大学で次のような問題が出題されたのですが、よく分かりませんでした。

    大学で次のような問題が出題されたのですが、よく分かりませんでした。 『周波数1kHzの入力信号に対して、30゜位相のずれた信号を出力する回路を設計せよ。ただし、入力信号周波数1kHzにおいて、入力信号の振幅と出力信号の振幅が等しくなるようにせよ。(他の周波数では等しくならなくても良い)』 わかる方がいましたら、回答よろしくお願いします。

  • サンプリング周波数と符号化ビット数の問題について

    デジタル化されたオーディオ信号のことについて教えてください。  PCM化されたオーディオ信号では、サンプリング周波数として、48キロ、96キロ、192キロ、と3種類、そして、符号化のやり方として、16ビット、24ビット、32ビット、とこれも3種類あると聞いていますが、このような多種多様なデジタル信号をアナログに変換するにあたって、DAコンバーターが48キロまでのサンプリング信号しか対応しないという仕様の場合、もし、96キロとか192キロサンプリングのオーディオ信号が来た場合、無事にDA変換ができるのでしょうか?   同様に16ビット符号化までの信号しか対応しないDAコンバーターの場合、24ビットとか32ビット符号化のオーディオ信号が入ってきた場合、うまくDA変換してくれるのでしょうか? 実際のDAコンバーターでは、このような多種類のPCM信号入力に対して、どうやって処理されているのでしょうか?  入力してきた信号に対して、サンプリング周波数や符号化ビット数などの情報は、そこから自動的に検出できるようになっているのでしょうか?