Idris2Doc : NN.Architectures.Transformer.Attention

NN.Architectures.Transformer.Attention

(source)

Definitions

crossAttention : Num a => {auto acif : ConsistentWith inputStructure [features]} -> {auto accf : ConsistentWith crossStructure [features]} -> {auto acci : ConsistentWith crossStructure [inputStructure]} -> TensorMonoid (inputStructure .cont) => TensorMonoid (features .cont) => AllAlgebra [inputStructure, features] a => {default id _ : (Tensor [crossStructure, inputStructure] a -> Tensor [crossStructure, inputStructure] a)} -> (Tensor [inputStructure] a -> Tensor [inputStructure] a) -> Tensor [inputStructure, features] a -> Tensor [inputStructure, features] a -> Tensor [crossStructure, features] a -> Tensor [crossStructure, features] a
  Generalised form of attention

Totality: total
Visibility: public export
selfAttention : Num a => {auto {conArg:1283} : ConsistentWith inputStructure [features]} -> TensorMonoid (inputStructure .cont) => TensorMonoid (features .cont) => AllAlgebra [inputStructure, features] a => {default id _ : (Tensor [inputStructure, inputStructure] a -> Tensor [inputStructure, inputStructure] a)} -> (Tensor [inputStructure] a -> Tensor [inputStructure] a) -> Tensor [inputStructure, features] a -> Tensor [inputStructure, features] a -> Tensor [inputStructure, features] a -> Tensor [inputStructure, features] a
  Self-attention is cross-attention where inputStructure = crossStructure

Totality: total
Visibility: public export
record SelfAttentionParams : Axis -> Type -> Type
  Data structure for holding parameters of self-attention

Totality: total
Visibility: public export
Constructor: 
MkSAParams : Tensor [features, features] a -> Tensor [features, features] a -> Tensor [features, features] a -> SelfAttentionParams features a

Projections:
.keyMatParam : SelfAttentionParams features a -> Tensor [features, features] a
.queryMatParam : SelfAttentionParams features a -> Tensor [features, features] a
.valueMatParam : SelfAttentionParams features a -> Tensor [features, features] a
.queryMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
queryMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
.valueMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
valueMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
.keyMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
keyMatParam : SelfAttentionParams features a -> Tensor [features, features] a
Totality: total
Visibility: public export
SAImpl : Num a => {auto ac : ConsistentWith inputStructure [features]} -> TensorMonoid (inputStructure .cont) => TensorMonoid (features .cont) => AllAlgebra [inputStructure, features] a => {default id _ : (Tensor [inputStructure, inputStructure] a -> Tensor [inputStructure, inputStructure] a)} -> (Tensor [inputStructure] a -> Tensor [inputStructure] a) -> DPair (Tensor [inputStructure, features] a) (const (SelfAttentionParams features a)) -> Tensor [inputStructure, features] a
  Forward pass of self-attention, from input

Totality: total
Visibility: public export
SelfAttention : Num a => {auto {conArg:2089} : ConsistentWith inputStructure [features]} -> TensorMonoid (inputStructure .cont) => TensorMonoid (features .cont) => AllAlgebra [inputStructure, features] a => {default id _ : (Tensor [inputStructure, inputStructure] a -> Tensor [inputStructure, inputStructure] a)} -> (Tensor [inputStructure] a -> Tensor [inputStructure] a) -> Tensor [inputStructure, features] a -\-> Tensor [inputStructure, features] a
  Self-attention as a parametric map

Totality: total
Visibility: public export
causalMask : Num a => Exp a => InterfaceOnPositions (c .cont) MOrd => TensorMonoid (c .cont) => Tensor [c, c] a -> Tensor [c, c] a
Totality: total
Visibility: public export