タグ付けされた質問 「neural-networks」

人工ニューラルネットワーク(ANN)は、生物学的ニューラルネットワークに大まかに基づいた広範なクラスの計算モデルです。これらには、フィードフォワードNN(「ディープ」NNを含む)、畳み込みNN、反復NNなどが含まれます。

1
ディープラーニングを理解するための情報ボトルネック原則の価値について、現在コンセンサスはありますか?
TishbyとZaslavskyは2015年に、いわゆる情報ボトルネック原理を使用してディープニューラルネットワークのいくつかの動作を理解できると主張する有名な論文を発表しました。で(2017年4月)より最近の論文、シュワルツ-Ziv符号とTishbyは特に結果の一部を可視化する、これらの請求に展開します。 2017年の後半に、Saxeらの批評論文。OpenReviewのWebサイトに投稿されました(最近の改訂は2週​​間前)。Schwartz-Ziv-Tishbyの論文で出された主張の多くは支持されない、または少なくとも主張されている一般性ではないと主張している。実際、私がそれらを正しく読んでいる場合、視覚化された結果は活性化機能の選択のアーチファクトであると彼らは主張します-理論によれば重要ではない何か。 しかし、コメントの中で、シュワルツ-ジブとティシュビーは批評が的を外していると批判的な論文に関するコメントの長いリストを見せてくれます。これに批判的な論文の著者が順番に答えますが、おそらく会話はまだ終わっていません。 情報のボトルネックの深層学習の側面についての調査プロジェクトを開始することに関心がありますが、すでに「反駁されている」ことを学ぶのに時間を浪費するのではないかと心配しています。したがって、私の質問は次のとおりです。 ディープラーニングを理解するための情報ボトルネック原理の適用性に関する現在の専門家の意見は何ですか? 特に、私がリンクしたもの以外のテーマの研究、および専門家による(直接的または間接的な)解説に興味があります。

2
単純なニューラルネットの最小トレーニングサイズ
独立変数ごとに最低10ケースを推奨する多変量統計には古い経験則があります。しかし、多くの場合、各変数に適合するパラメーターが1つあります。 質問の理由:私は、15の予測変数と8つの非表示ノードを持つ1つの非表示レイヤーを持つ500のトレーニングケース(データセットの25000のうち)を使用するテキストの例に取り組んでいます。したがって、153個の重みを推定しています。500ケースのうち、129は1、残りは0です。したがって、予測されるポジティブケースよりも重みが多くなります。これは間違っているようです。結果のモデルはオーバーフィットします(ただし、検証はこの教科書の問題では扱われていません)。 それで、最低限のガイドは何ですか?10倍の入力変数?推定する10倍のパラメータ?他に何か? 関連する回答はありますが、最小値よりも望ましいサンプルサイズを参照しているようです。たとえば、ニューラルネットワークのトレーニングに必要なデータセットサイズを取得するにはどうすればよいですか。 ニューラルネットワークをトレーニングするためのバッチサイズと反復回数のトレードオフ または未分類分類器に必要な最小トレーニングサンプルサイズ しかし、もちろん、私は以前の良い答えを逃したかもしれません。

2
トリプレットネットワークのL2正規化の目的
顔認識のためのトリプレットベースの遠隔学習は非常に効果的です。紙の特定の側面に興味があります。顔の埋め込みを見つける一環として、L2正規化を使用して隠しユニットを正規化します。これにより、表現が超球上にあるように制約されます。なぜそれが役立つか必要なのですか?

1
フィードフォワードネットワーク上でリカレントニューラルネットワークを使用するための数学的な正当化
シーケンシャルデータを処理するときに、フィードフォワードネットワークよりもRNNが優れていることの背後に数学的な理由があるかどうか疑問に思い、理解しようとしました。たとえば、時系列、HMMなどをモデル化する場合。シーケンスの長さは固定されているが、非常に大きいと仮定します。 直感的には、RNNが状態変数の現在の時刻までの関連情報を記憶し、それを使用して現在の入力基づいて状態をに更新できることは明らかです。たとえば、フィードフォワードネットワークを使用してをモデルする場合、ごとに入力ノードを用意し、それらを合計してを取得する必要がありが、RNNではは単一の入力ノードが必要であり、状態は合計ます。tttht−1ht−1h_{t-1}hthth_txtxtx_tYt=Xt+Xt−1+…+X0Yt=Xt+Xt−1+…+X0Y_t=X_t+X_{t-1}+\ldots+X_0XiXiX_iYtYtY_tXtXtX_tXt−1+…+X0Xt−1+…+X0X_{t-1}+\ldots+X_0 上記の例はかなり基本的なものですが、RNNの複雑さ(ノード数、深さ)は、フィードフォワードの場合に比べてはるかに少ないことを示しています。 フィードフォワードでは取得できないが、RNNで十分に近似できる関数のファミリの例を誰かが提供できますか?これに言及する参考文献もまた高く評価されます。

1
U-Netはどのようにしてピクセル分類を単一の空間領域にグループ化しますか?
「U-Net」として知られるニューラルネットワーク(Ronneberger、Fischer、およびBrox 2015)は、Kaggleの最近の超音波神経セグメンテーションコンテストで著名な技​​術でした。そこでは、高いスコアが、手描きの領域。 (クリストファーヘフェレからの写真) (おそらくダウンサンプリングされた画像から)すべてのピクセルの分類を続行する場合、隣接するピクセルが同じクラスになる傾向があるという事前の知識を組み込む多くの方法が必要であり、さらにすべての正の分類が単一の空間領域。しかし、私はこれらのU-Netsがどのようにそれをしているのか理解できません。畳み込み演算子とプーリング演算子の迷路ではありますが、これらはすべてのピクセルを分類します。 分離の境界線が関係していますが、紙はそれらが「形態学的演算を使用して計算される」と述べており、これは私がU-Net自体から完全に分離していることを意味します。これらの境界線は、境界線のピクセルがより強調されるように、重みを変更するためにのみ使用されます。それらは分類タスクを根本的に変えるようには見えません。 すべてのピクセルを分類する際、「U-Net」と呼ばれるこの深い畳み込みニューラルネットワークは、予測領域が単一の空間領域になるという事前知識をどのように組み込んでいますか?

3
ニューラルネットワークで分類する前に画像データセットでPCAを使用する
画像データマトリックスがあります バツ∈RN x p X∈ℜN x pX \in \Re^{N \ \text{x}\ p} どこ N= 50000N=50000N=50000 画像の例の数であり、 p = 3072p=3072p=3072 画像のピクセル数です。 p = 3072 = 32 × 32 × 3p=3072=32×32×3p = 3072 = 32 \times 32 \times 3、各画像は3チャンネルであるため 32 × 3232×3232 \times 32画像。さらに、50000の画像のそれぞれは、10の可能なクラスの1つに属しています。つまり、クラス ' car'の5000個の画像、クラス ' 'の5000個の画像birdなどがあり、合計10個のクラスがあります。これはCIFAR-10データセットの一部です。 ここでの最終的な目標は、このデータセットで分類を実行することです。この目的のために、教授はこれについてPCAを試し、それらの機能を分類子に配置することを述べました。私の分類子として、1つの非表示レイヤーとsoftmax出力を持つ完全に接続されたニューラルネットワークを使用しています。 私の問題は、私がPCAを正しい方法で実行したと信じていることですが、私の方法が誤って適用されている可能性があると思います。 これは私がやったことです: 私のデータのPCAを計算するために、これは私がこれまでに行ったことです: …

1
Tensorflowで実装されているような自動微分の使用例は何ですか?なぜそれが重要なのですか?
ニューラルネットワーク、バックプロパゲーション、チェーンルールを適切に理解していますが、自動微分を理解するのに苦労しています。 以下は、逆伝播のコンテキスト外の自動微分に言及しています。 自動微分は行列から勾配をどのように計算しますか? 勾配を計算するための要件は何ですか?関数を指定する必要がありますか? これの使用例は何ですか(それ以外の場合は逆伝播)? なぜそれが重要であり、代替案は何ですか? 何か不足していますか?

4
ReLUレイヤーは浅いネットワークでうまく機能しますか?
私は現在5層ニューラルネットワークのトレーニングに取り組んでおり、tanh層でいくつかの問題が発生したため、ReLU層を試してみたいと思います。しかし、ReLUレイヤーではさらに悪化することがわかりました。それは、最良のパラメーターが見つからなかったためか、単にReLUがディープネットワークにのみ適しているためか、と思っています。 ありがとう!

2
バッチ正規化は、トレーニング後に人口統計をどのように計算しますか?
私はバッチ正規化(BN)ペーパー(1)を読んでいて、それは言った: このため、ネットワークがトレーニングされたら、正規化を使用します バツ^=x − E[ x ]Va r [ x ] + ϵ−−−−−−−−√x^=x−E[x]Var[x]+ϵ\hat{x} = \frac{x - E[x]}{ \sqrt{Var[x] + \epsilon}}ミニバッチではなく、人口統計を使用します。 私の質問は、どのようにしてこの人口統計をどのように計算し、どのトレーニングセット(テスト、検証、トレーニング)を超えているかです。私はそれが何を意味するのかは知っていたと思いましたが、しばらくして、これがどのように計算されるのかわかりません。私はそれがどのように行うかはわかりませんが、それは真の平均と分散を推定しようとしていると思います。おそらく、データセット全体に従って平均と分散を計算し、それらの瞬間を推論に使用します。 しかし、私が間違っているのではないかと疑ったのは、同じセクションの後半の不偏分散の推定についての彼らの議論です。 不偏分散推定を使用します Va r [ x ] =メートルm − 1⋅EB[σ2B]Var[x]=mm−1⋅EB[σB2]Var[x] = \frac{m}{m-1} \cdot E_{\mathcal{B}}[\sigma^2_{\mathcal{B}}] サイズのミニバッチのトレーニングに期待が集まっている場所 メートルmm そして σ2BσB2\sigma^2_{\mathcal{B}} それらは標本分散です。 私たちは人口統計について話しているので、この紙面上のコメントは、どこからともなく(私にとって)出てきたようなものであり、彼らが何について話しているのかわかりませんでした。彼らは(ランダムに)トレーニング中に不偏推定値を使用することを明確にしていますか、それとも不偏推定値を使用して人口統計を計算していますか? 1:Ioffe S.とSzegedy C.(2015)、 「バッチ正規化:内部共変量シフトの削減によるディープネットワークトレーニングの加速」、 第32回機械学習に関する国際会議の議事録、リール、フランス、2015。Journalof Machine Learning Research: W&CPボリューム37

1
4Dたたみ込みネットワーク
3Dではなく4D入力テンソルで機能する畳み込みネットワークの一般化があるかどうか誰かが知っていますか?一般的に、私が理解しているように、畳み込みネットワークフィルターは、フィルターごとの特定のスパンのx、y座標とそのスパンの深さ全体を受け入れます。入力に意味を持たせるために、フィルター内で必要となる追加のディメンションがあります。 これに従来の畳み込みネットワークを使用することは可能ですか、それともn次元データに対して機能する抽象化がありますか?

6
数学の教育を受けずにニューラルネットワークを研究することは理にかなっていますか?
現代の機械学習テクノロジーとツール(例:TensorFlow、Theanoなど)を考えると、エントリのしきい値は最近低くなっているようで、Pythonなどでプログラミングして興味深いものを構築するのに十分です。この点をサポートするもう1つの情報源は、CourseraのMachine Learning Specializationであり、FAQに次のように記載されています。 どのような背景知識が必要ですか? コンピュータプログラミングの経験が必要です。この専門分野のほとんどの割り当ては、Pythonプログラミング言語を使用します。この専門分野認定は、スキルをデータサイエンスと機械学習に拡大したい科学者やソフトウェア開発者向けに特別に設計されていますが、基本的な数学とプログラミングのスキルを持ち、データからインテリジェンスを引き出すことに興味がある人に適しています。 一方、他にもたくさんのオンラインコース(たとえば、Costraでのスタンフォード機械学習や、UdacityでのGoogleのディープラーニング)や、数学が満載のS.ヘイキン、ニューラルネットワーク:包括的な財団などの古典的な本があります。。私は大学で数年間、統計、行列、積分などを含めて数学を勉強していましたが、あまりにも長い間使われていないので、これらの方程式を見ただけでは絶望感を覚えます。Knuthによる具象数学でさえ、非常に遅いペースで認識されているので、それを完了するのは不可能のようです。 したがって、次の質問が発生します。 数学の知識は浅いがプログラミングスキルのある人がニューラルネットワーク/機械学習の研究に飛び込むのは理にかなっていますか。 高レベルのツールのみを使用して、atariをプレイしているような、この分野で興味深いプロジェクトを構築することは可能ですか? それとも、時間がかかりすぎて、自分自身を奮闘させたり、他のことをしたりしない方が良いでしょうか?

2
SGDトレーニングでの小さいバッチサイズの処理
確率的勾配降下法(SGD)を使用して、大規模モデル(カフェを使用したディープネット)をトレーニングしようとしています。 問題は、私がGPUメモリ容量の制約を受けているため、各確率的勾配推定に対して大きなミニバッチを処理できないことです。 トレーニングでこの不安定さを克服するにはどうすればよいですか? 私が考えていたのは、モーメンタムを使用して、デフォルトの通常の設定よりも高い値に設定することでした。これは有効な戦略ですか? Caffeをたまたま使用している人にとって、Caffeがすでにミニバッチ全体の勾配の累積を実装していることを知るのは興味深いかもしれません(Indie Alによって提案されています)。あなたは、単に定義する必要がiter_sizeで'solver.prototxt'。 これはpytorchでも実行できます。たとえば、この投稿を参照してください。

2
画像スタイル転送で使用される重み正規化手法
畳み込みニューラルネットワークを使用した紙の画像スタイル転送を実装しようとしています。セクション2-深い画像表現で、著者は次の重み正規化手法について言及しています。 画像と位置に対する各畳み込みフィルターの平均アクティブ化が1に等しくなるように重みをスケーリングすることにより、ネットワークを正規化しました。このような再スケーリングは、出力を変更せずにVGGネットワ​​ークに対して実行できます。これは、線形線形活性化関数のみを修正し、機能マップに対する正規化やプールは含まないためです。 以前に尋ねた関連質問から、著者がILSVRC検証セットの画像からのアクティベーション値を使用して重みを正規化していることがわかりました。 私は自分でそれを思い付くことができなかったので、そのような正規化を実行することの数学的な定式化を知りたかった。 問題の私の理解によると、私はアクティベーションマップ(X)を持ち、それに対応して、前のレイヤーのKアクティベーションマップ(L)と次元3x3xKの重み行列(W)を持っています。 WそれはXを生成します。今度は、検証セットのすべての画像についてレイヤーLのすべてのニューロンの活性化値をキャプチャしたら、検証セットのすべての画像にわたってXのすべてのニューロンの平均を1にすることです。どういうわけかWを調整することによって それを実現するために私がWに何をすべきかわからなかった。 また、これを最初のレイヤーの重みを正規化し、次に新しい機能マップを使用してレイヤーの重みを正規化することにより、カスケード(順次)でこれを実行するかどうかを確認したかったすべてのアクティベーションマップの元の事前トレーニング済みの重みとしての前のレイヤーの値?

1
畳み込みニューラルネットワークに関するいくつかの説明
完全に接続されたレイヤーのたたみ込みレイヤーへの変換について読むときは、http://cs231n.github.io/convolutional-networks/#convertに投稿されています。 次の2つのコメントについて混乱しているだけです。 この変換により、元のConvNetを大きな画像内の多くの空間位置にわたって単一の順方向パスで非常に効率的に「スライド」できることがわかります。 標準のConvNetは、任意のサイズの画像で機能する必要があります。たたみ込みフィルターは画像グリッドを横切ってスライドできるので、元のConvNetをより大きな画像の任意の空間位置でスライドする必要があるのはなぜですか? そして 32ピクセルのストライドで384x384画像の224x224クロップ全体で元のConvNet(FCレイヤー付き)を個別に評価すると、変換されたConvNetを1回転送するのと同じ結果が得られます。 ここで「32ピクセルのストライド」とはどういう意味ですか?それはフィルターサイズを指していますか?384 * 384画像の224 * 224作物について話すとき、それは224 * 224の受容野を使用することを意味しますか? 元のコンテキストでは、これら2つのコメントを赤でマークしました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.