TensorFlow には重大なバグがあり、Keras と併用すると重量が減る可能性があるが、まだ修正されていない。

TensorFlow には重大なバグがあり、Keras と併用すると重量が減る可能性があるが、まだ修正されていない。

[[333827]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

最近、NLP エンジニアの Gupta 氏は TensorFlow に重大なバグを発見しました。

カスタム レイヤーで Keras 機能 API を使用しているすべての方にご注意ください。 Keras の Functional API で作成された重みを使用すると、損失が発生する可能性があります。

このトピックは Reddit の機械学習セクションで熱く議論され、多くの TensorFlow ユーザーの共感を呼びました。

具体的には、API でカスタム レイヤーを使用すると、trainable_variables の重みが更新されなくなります。また、これらの重みは non_trainable_variables にも設定されません。

つまり、元々トレーニングする必要があった重みが凍結されることになります。

エンジニアが不満に思っているのは、約1か月前にGitHubでGoogleにバグを報告したにもかかわらず、Googleがまだそれを修正していないことです。

解決

自分のコードに同様の問題が発生するかどうかを確認するにはどうすればよいですか?モデルをテストするには、model.trainable_variables を呼び出してください。

  1. iの場合、var を enumerate(model.trainable_variables):
  2. print(model.trainable_variables[i].name)

すべての変数の重みが正しいことを確認してください。重みが欠落しているか変更されていない場合も、影響を受けます。

Gupta 氏は、Colab ノートブックの Transformer ライブラリで作成されたモデルのバグも再現しました。興味のある読者は、ぜひご覧ください。

参考:https://colab.research.google.com/gist/Santosh-Gupta/40c54e5b76e3f522fa78da6a248b6826/missingtrainablevarsinference_var.ipynb

Gupta 氏はこの問題の解決策として、代わりに Keras サブクラスを使用してモデルを作成する方法を示しました。代わりにこの方法を使用すると、すべての重みが trainable_variables に表示されます。

機能 API とサブクラス化アプローチで作成されたモデルが同一であることを確実にするために、Gupta は各 Colab ノートブックの下部で同じ入力を使用して推論を実行しましたが、モデルの出力はまったく同じでした。

ただし、機能 API モデルを使用したトレーニングでは、多くの重みが固定されたものとして扱われ、これらの重みは non_trainable_variables にも表示されないため、これらの重みを固定解除する方法はありません。

Google が最近この脆弱性を修正したかどうかを確認するために、Gupta 氏はフレームワークを最新の状態に維持するために TF 2.3.0-rc1 の Nightly バージョンもインストールしましたが、バグはまだ存在しています。

ネットユーザー:PyTorchを使ってみよう

先ほど、Keras の創設者が Twitter で、これは Keras のバグではないと返信し、プログラマーにユニット テストを使用するよう提案しました。

Gupta 氏が言及したバグに関して、一部のネットユーザーは、TensorFlow と Keras 間で重みを転送したときに同様のエラーが発生したため、PyTorch に切り替えたと述べています。

さらに、多くのネットユーザーも、Googleのフレームワークは完璧ではなく、管理方法が混乱していると反省し、ユーザーにTensorFlowのバグのテストに協力するよう求めている。

一方、PyTorchはわかりやすいドキュメントがあり、最近では公式から無料の電子書籍もリリースされました。PyTorchを使うのってすごくいいですよね。

現在、どのディープラーニング フレームワークを使用していますか? 同様の重大なバグに遭遇したことがありますか?

<<:  清華大学と北京大学がケンブリッジ大学を上回り、Googleがリストを独占、百度が中国企業をリード、ICML2020ランキングが発表

>>:  TensorFlow の最大の機械学習データセット 30 件

ブログ    
ブログ    
ブログ    

推薦する

人工知能が医療に及ぼす12の影響

人工知能はヘルスケアに変革をもたらす力となることが期待されています。では、医師と患者は AI 駆動型...

...

ChatGPTが危険にさらされています! 「Attention Formula」の8年前の謎のバグが初めて暴露、Transformerモデルに大きな影響が出る可能性

「注目の式」に8年間存在していたバグが外国人によって発見された?一瞬にして、この話題はインターネット...

あなたは統計学者になれますか?トランスフォーマーの強力な学習メカニズム「自動アルゴリズム選択」

ChatGPT などの大規模な Transformer ベースの言語モデルには、非常に強力なコンテ...

基本的なアルゴリズムの学習ルートとランダムな考え

勉強計画(いつも顔を叩かれるような気分です)煙台での仕事を辞めて北京に来ました。アルゴリズムが苦手だ...

滴滴出行はオペレーションズリサーチ分野の最高賞であるワグナー優秀実践賞を受賞した初の中国企業となる。

2019年INFORMS年次総会が米国時間10月20日から23日までシアトルで開催されました。同総...

...

人工知能時代の罠を回避し、実装を実現する方法

つい最近、カリフォルニア大学バークレー校で活躍している、インターネットで有名な無人食品配達車「Kiw...

3D特殊効果アーティストはもう家に帰れる丨科学

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

美団のドローンの暴露:インターネットはインターネットに別れを告げる

美団ドローンは、ドローンそのもの以上のものを見せてくれるだけでなく、インターネットがインターネットに...

人工知能技術の成功と失敗を支える5つの中核要素

海外メディア(VentureBeat)によると、1980年代後半には、多くのスタートアップ企業、政府...

SQL Server 2008 のデータ マイニングのための 9 つのアルゴリズム

SQL Server 2008 データ マイニング決定木アルゴリズム決定木は判断木とも呼ばれ、バイナ...

TensorFlow ワイド&ディープラーニングチュートリアル

[[211918]]この記事では、TF.Learn API を使用して、ワイド線形モデルとディープ ...

3大分野で需要が解放され、2021年には検査ロボットの開発が期待される

近年、人口ボーナスの継続的な減少に伴い、無人作業の需要がますます顕著になり、ロボット産業は急速な発展...

快手AIハッカソンは「AIの名の下に」みんなの幸福を向上させるために終了しました

最近、快手の内部インキュベーターである快手幸福実験室が主催した第2回ハッカソン「AIの名において」の...