トランス機械学習モデルでは、マルチヘッドの注意は、モデルが入力シーケンスのさまざまな部分に並行して注意を払うことを可能にする注意メカニズムのバリエーションです。

直感：
通常の注意は、入力シーケンスの値の加重合計を計算することで機能します。ここで、重みはクエリベクトルと各入力ベクトルの類似性によって決定されます。マルチヘッドの注意は、モデルがそれぞれ入力シーケンスのさまざまな部分に焦点を当てた複数の注意ウェイトまたは「ヘッド」のセットまたは「ヘッド」を計算できるようにすることにより、さらに一歩進んでいます。次に、各ヘッドの出力を連結および直線的に変換して、最終的な注意出力を生成します。入力シーケンスの複数の部分に同時に参加することにより、マルチヘッドの注意は、入力の異なる部分の間でより複雑な関係を潜在的にキャプチャする可能性があります。

数学的視点：
正式には、入力ベクトルのセット{v_1、v_2、...、v_n}とクエリベクトルqを与えられた場合、マルチヘッドの注意の出力は次のように計算されます。

1.最初に、入力ベクトルはキーベクトルのセットに直線的に変換されますk = {k_1、k_2、...、k_n}およびv = {v_1、v_2、...、v_n}の値ベクトルv = {v_1、v_2、...、v_n}ウェイトマトリックスW_KおよびW_V：
k_i = w_k * v_i
v_i = w_v * v_i

2.クエリベクトルQは、学習された重量マトリックスW_Qを使用して変換されます。
q = w_q * q

3. HETTERTIONS「HEADS」のそれぞれについて、クエリベクトルQおよびキーベクトルkを使用して、注意のセットを計算するために使用されますa^h = {a^h_1、a^h_2、...、a^h_n}：
a^h_i = softmax（q * k_i^t） / sqrt（d_k））
ここで、D_Kはキーベクトルの次元であり、SoftMax関数により、注意の重みが1に合計されることが保証されます。

4.各注意ヘッドは、注意力a^hを使用して、値ベクトルvの加重合計を生成します。
h^h = sum（a^h_i * v_i）

5.すべての注意ヘッドの出力は、単一のベクトルh^cに連結され、学習した重量マトリックスW_Oを使用して直線的に変換され、最終的な注意出力が生成されます。
h = w_o * h^c

複数の注意ウェイトを並行して計算することにより、マルチヘッドの注意により、モデルは異なる優先順位を持つ入力シーケンスのさまざまな部分に出席でき、入力の異なる部分間のより複雑な関係を潜在的にキャプチャできます。
In a Transformer machine learning model, multi-head attention is a variation of the attention mechanism that allows the model to attend to different parts of the input sequence in parallel.

Intuition:
Normal attention works by computing a weighted sum of the values of the input sequence, where the weights are determined by the similarity between a query vector and each of the input vectors. Multi-head attention takes this idea one step further by allowing the model to compute multiple sets of attention weights, or "heads", in parallel, each focusing on different parts of the input sequence. The outputs of each head are then concatenated and transformed linearly to produce the final attention output. By attending to multiple parts of the input sequence simultaneously, multi-head attention can potentially capture more complex relationships between different parts of the input.

Mathematical perspective:
Formally, given a set of input vectors {v_1, v_2, ..., v_n} and a query vector q, the output of multi-head attention is computed as follows:

1. First, the input vectors are linearly transformed into a set of key vectors K = {k_1, k_2, ..., k_n} and a set of value vectors V = {v_1, v_2, ..., v_n} using learned weight matrices W_k and W_v:
K_i = W_k * v_i
V_i = W_v * v_i

2. The query vector q is also transformed using a learned weight matrix W_q:
Q = W_q * q

3. For each of h attention "heads", the query vector Q and key vectors K are used to compute a set of attention weights a^h = {a^h_1, a^h_2, ..., a^h_n}:
a^h_i = softmax((Q * K_i^T) / sqrt(d_k))
where d_k is the dimensionality of the key vectors, and the softmax function ensures that the attention weights sum to 1.

4. Each attention head produces a weighted sum of the value vectors V using the attention weights a^h:
h^h = sum(a^h_i * V_i)

5. The outputs of all the attention heads are concatenated into a single vector h^c, and linearly transformed using a learned weight matrix W_o to produce the final attention output:
h = W_o * h^c

By computing multiple sets of attention weights in parallel, multi-head attention allows the model to attend to different parts of the input sequence with different priorities, potentially capturing more complex relationships between different parts of the input.