Idris2Doc : NN.Architectures.Transformer.Attention

NN.Architectures.Transformer.Attention

(source)

Definitions

crossAttention : Numa=> {autoacif : NewAxisConsistentinputStructure [features]} -> {autoaccf : NewAxisConsistentcrossStructure [features]} -> {autoacci : NewAxisConsistentcrossStructure [inputStructure]} ->TensorMonoid (inputStructure.cont) =>TensorMonoid (features.cont) =>AllAlgebra [inputStructure, features] a=> {defaultid_ : (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

Visibility: public export
selfAttention : Numa=> {auto{conArg:17753} : NewAxisConsistentinputStructure [features]} ->TensorMonoid (inputStructure.cont) =>TensorMonoid (features.cont) =>AllAlgebra [inputStructure, features] a=> {defaultid_ : (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

Visibility: public export
recordSelfAttentionParams : 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->SelfAttentionParamsfeaturesa

Projections:
.keyMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
.queryMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
.valueMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
.queryMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
queryMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
.valueMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
valueMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
.keyMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
keyMatParam : SelfAttentionParamsfeaturesa->Tensor [features, features] a
Visibility: public export
SAImpl : Numa=> {autoac : NewAxisConsistentinputStructure [features]} ->TensorMonoid (inputStructure.cont) =>TensorMonoid (features.cont) =>AllAlgebra [inputStructure, features] a=> {defaultid_ : (Tensor [inputStructure, inputStructure] a->Tensor [inputStructure, inputStructure] a)} -> (Tensor [inputStructure] a->Tensor [inputStructure] a) ->DPair (Tensor [inputStructure, features] a) (const (SelfAttentionParamsfeaturesa)) ->Tensor [inputStructure, features] a
  Forward pass of self-attention, from input

Visibility: public export
SelfAttention : Numa=> {auto{conArg:18689} : NewAxisConsistentinputStructure [features]} ->TensorMonoid (inputStructure.cont) =>TensorMonoid (features.cont) =>AllAlgebra [inputStructure, features] a=> {defaultid_ : (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

Visibility: public export
causalMask : Numa=>Expa=>InterfaceOnPositions (c.cont) MOrd=>TensorMonoid (c.cont) =>Tensor [c, c] a->Tensor [c, c] a
Visibility: public export