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 件

ブログ    
ブログ    
ブログ    

推薦する

すべての開発者が知っておくべき 6 つの生成 AI フレームワークとツール

翻訳者 | ジン・ヤンレビュー | Chonglou生成 AI は、急速に進化するテクノロジー分野に...

人工知能が未来の学校を再構築し、教育問題の解決に貢献

スティーブ・ジョブズはかつて、世間では「スティーブ・ジョブズの質問」と呼ばれている、と発言しました。...

GPT-4により、ロボットはペンを回したりクルミを転がしたりすることを学習した。

学習に関しては、GPT-4 は優れた生徒です。大量の人間のデータを消化することで、さまざまな知識を習...

職場でロボットが増えると、雇用に影響が出るでしょうか?

最近、中国労働・社会保障科学院の莫容研究チームが発表した研究結果によると、わが国における人工知能の雇...

2020 年にチャットボットはどこに向かうのでしょうか?

チャットボットはかつて大々的に宣伝された期待に応えようとしており、Intercom が委託した新しい...

2020 年の AI トレンド トップ 10

デジタル労働力をサポートし維持するために職場で AI が普及することは、2020 年の明確なトレンド...

ボストン・ダイナミクスの二足歩行ロボット「アトラス」が驚異的な体操ショーを披露、ネットユーザー「恐ろしい」

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

1万語の要約 | 2023年のビッグモデルと自動運転の論文を簡単に見る

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

顔認識技術の応用に関する法的規制

新興技術の発展とビジネス、公共福祉、社会統治などの分野におけるその応用をどのように促進、保護、規制す...

科学者らが磁場を使ってバイオニックロボットの動きを制御する新たな解決策を発表

科学者は長い間ロボット工学の分野に興味を持っており、最近のバイオニックソフトロボットはロボット工学の...

AIチップ帝国が戦争状態!アルトマン氏は米国政府と密かに会談し、孫正義氏は大きな賭けに向け1000億ドルを緊急調達

この時代において、AIは科学技術の将来の発展の重要な支点となり、AIチップは産業の発展を牽引する新た...

この「PhD Study Simulator」はとてもリアルです。何回諦めるように説得されるか試してみてください。

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

2018年のAIトレンドはこちら

ビッグデータの計算分析は決して時代遅れではありません。それどころか、データ量が増え続けるにつれて、デ...