AIうぉ--!(ai-wo-katsuyo-shitai !)

AIを上手く使ってみせたい!!自分なりに。

有名な論文『Effective Approaches to Attention-based Neural Machine Translation』を、いまさら、のんびり読む。

有名な論文『Effective Approaches to Attention-based Neural Machine Translation』を、いまさら、のんびり読む。

Google scholarで確認すると、引用数8,049(2022/09/24時点)でした。凄いけど、もの凄くはないか。。。。

概要

Deepl翻訳

An attentional mechanism has lately been used to improve neural machine translation (NMT) by selectively focusing on parts of the source sentence during translation. However, there has been little work exploring useful architectures for attention-based NMT. This paper examines two simple and effective classes of attentional mechanism: a global approach which always attends to all source words and a local one that only looks at a subset of source words at a time. We demonstrate the effectiveness of both approaches on the WMT translation tasks between English and German in both directions. With local attention, we achieve a significant gain of 5.0 BLEU points over non-attentional systems that already incorporate known techniques such as dropout. Our ensemble model using different attention architectures yields a new state-of-the-art result in the WMT’15 English to German translation task with 25.9 BLEU points, an improvement of 1.0 BLEU points over the existing best system backed by NMT and an n-gram reranker.

(翻訳)

最近、翻訳中に原文の一部に選択的に注目することで、ニューラル機械翻訳(NMT)を改善するために、注意のメカニズムが利用されている。しかし、注意に基づくNMTに有用なアーキテクチャを探索した研究はほとんどない。本論文では、2つのシンプルで効果的なクラスの注意メカニズムを検討する。すなわち、常に全ての原語に注目するグローバルアプローチと、一度に原語のサブセットのみを見るローカルアプローチである。英語とドイツ語の双方向のWMT翻訳課題において、両アプローチの有効性を実証する。局所的な注意を用いることで、ドロップアウトなどの既知の技術を既に組み込んでいる非注意システムに対して5.0BLEUポイントという大きな利得を得ることができた。また、異なる注意アーキテクチャを用いたアンサンブルモデルでは、WMT'15英独翻訳タスクにおいて25.9BLEU点と、NMTとn-gram rerankerに支えられた既存の最適システムに対して1.0BLEU点の改善という、新たな最先端結果を得ることができました。

Global attentional modelとLocal attention model

■ Global attentional model

各タイムステップ t で、モデルは現在のターゲット状態 ht とすべてのソース状態 h¯s に基づいて可変長のアライメント重みベクトル at を推論する。そして、グローバルコンテキストベクトル ct が、at に従って、すべてのソース状態にわたる加重平均として計算される。

( ↓ いろいろな選択肢がある。

■ Local attention model

このモデルはまず、現在のターゲット単語に対して単一の整列位置 pt を予測する。そして、ソース位置ptを中心とするウィンドウを使用して、ウィンドウ内のソース隠された状態の加重平均であるコンテキストベクトルctが計算される。この重みatは現在のターゲット状態htとウィンドウ内のソース状態h¯sから推論される。

コメント

まだ読み始めです。

1990年にモンティ・ホール問題はないよね。ひじひじひじ、ひざ、みたいなネタか?

1990年にモンティ・ホール問題はないよね。ひじひじひじ、ひざ、みたいなネタか?

モンティ・ホール問題とは?

(説明がだるいので、、、、以下、参照願います。)

ja.wikipedia.org

見解

こんなのが、、、、1990年に問題になるはずなく。
199年とかなら、わかるけど。。。。
このエピソード?、ちょっと、ベイズの理解が進む妨げにすらなってきる気がする。

流行りのStable Diffusionを、少し、けずる。

流行りのStable Diffusionを、少し、けずる。

text = "Three bicycles"


(↑ ダメでしょう。自転車は、難しいにしても↓)

text = "Five ballpoint pens"


(↑ ダメでしょう。本数は、ちょっと、無視するとしても。。。)

コメント

用途にあったというか機能にあった用途で使うと強力なんでしょうけど。。。

記事『Artist uses AI to perfectly fake 70s science fiction pulp covers – artwork and titles』が面白い。

記事『Artist uses AI to perfectly fake 70s science fiction pulp covers – artwork and titles』が面白い。

あまり良く理解していないが、、、、AIによる画像生成を肯定的に、面白がっている記事だと思う。

https://cdm.link/2022/02/artist-uses-ai-to-perfectly-fake-70s-science-fiction-pulp-covers-artwork-and-titles/

画像、引用。

実際の70年代の画像は、以下。

https://www.amazon.co.jp/Red-Planet-Robert-Heinlein/dp/0330107127/ref=d_pd_sim_sccl_1_3/357-8177115-6289956?pd_rd_w=IHNC4&content-id=amzn1.sym.2d758e85-569e-4f76-89c5-c3b108d7fbaf&pf_rd_p=2d758e85-569e-4f76-89c5-c3b108d7fbaf&pf_rd_r=TYNX9K1D5HQBTWTF7KE5&pd_rd_wg=PkveC&pd_rd_r=b7d2288e-8d75-4be3-add3-ef57f720a1a4&pd_rd_i=0330107127&psc=1

https://www.amazon.co.jp/Day-After-Tomorrow-Robert-Heinlein/dp/0450010856/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=

補足

(この記事のソフトとは違うが)、最近、「Stable Diffusion」が流行っているよう。

Stable Diffusionによる画像生成をGoogle Colaboratoryで実行する - Qiita のサイトを参考にして、

2、3、画像を生成してみた。

A robot walks the streets in a downpour with an umbrella.

A robot buying fruit at an open-air fruit stand.

(何の意味もないが、、、果物屋の露天が好きなので。)

AI(Python)の計算で、列ベクトルとか行ベクトルみたいな言葉はあまり使わないので、線形代数と違う計算をしているのかとも思うが、線形代数ですよね。

AI(Python)の計算で、列ベクトルとか行ベクトルみたいな言葉はあまり使わないので、線形代数と違う計算をしているのかとも思うが、線形代数ですよね。

高校?大学の最初?に学ぶ線形代数では、 列ベクトルとか行ベクトルとかいう言い方があるが、 AI(Python)でのnumpyのdotとかは、適当に掛けときますわ。。。という感じで、およそ、「列ベクトル」とか「行ベクトル」とかの言葉を聞くことがない気がする。

でも、やってることは、行列の演算含め、線形代数ですよね。

コメント

コメントなどあれば、お願いします。

tensorflowに取り込まれたkerasも、もう、なくなるのか?! と思ったけど、見間違いでした。

tensorflowに取り込まれたkerasも、もう、なくなるのか?! と思ったけど、見間違いでした。

経緯

>python -m pydoc tensorflow.keras.preprocessing.sequence

を調べたときに、 以下のように、表示された。

NAME
    tensorflow.keras.preprocessing.sequence - Utilities for preprocessing sequence data.

DESCRIPTION
    Deprecated: `tf.keras.preprocessing.sequence` APIs are not recommended for new
    code. Prefer `tf.keras.utils.timeseries_dataset_from_array` and
    the `tf.data` APIs which provide a much more flexible mechanisms for dealing
    with sequences. See the [tf.data guide](https://www.tensorflow.org/guide/data)
    for more details.

なぜか、

    Deprecated: `tf.keras.preprocessing.sequence` APIs are not recommended for new
    code. 

だけに注目してしまった。

しかーーし、

 Prefer `tf.keras.utils.timeseries_dataset_from_array` and the `tf.data` 

でした。

tf .keras.utils.timeseries_dataset_from_array

でした。 お騒がせ致しました。

コメント

アドバイスとか、コメントとかあれば、お願いしまーす。