kr.ac.kaist.ir.deep.layer

SplitTensorLayer

class SplitTensorLayer extends Rank3TensorLayer

Layer: Basic, Fully-connected Rank 3 Tensor Layer.

Note

      v0 = a column vector concatenate v2 after v1 (v11, v12, ... v1in1, v21, ...)
      Q = Rank 3 Tensor with size out, in1 × in2 is its entry.
      L = Rank 3 Tensor with size out, 1 × (in1 + in2) is its entry.
      b = out × 1 matrix.

      output = f( v1'.Q.v2 + L.v0 + b )

Linear Supertypes
Rank3TensorLayer, Layer, Serializable, Serializable, (ScalarMatrix) ⇒ ScalarMatrix, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SplitTensorLayer
  2. Rank3TensorLayer
  3. Layer
  4. Serializable
  5. Serializable
  6. Function1
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SplitTensorLayer(IO: ((Int, Int), Int), act: Activation, quad: Seq[ScalarMatrix] = Seq(), lin: Seq[ScalarMatrix] = Seq(), const: ScalarMatrix = null)

    IO

    is a tuple of the number of input and output, i.e. ((2, 3) → 4)

    act

    is an activation function to be applied

    quad

    is initial quadratic-level weight matrix Q for the case that it is restored from JSON (default: Seq())

    lin

    is initial linear-level weight matrix L for the case that it is restored from JSON (default: Seq())

    const

    is initial bias weight matrix b for the case that it is restored from JSON (default: null)

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. val W: IndexedSeq[ScalarMatrix]

    weights for update

    weights for update

    returns

    weights

    Definition Classes
    Rank3TensorLayerLayer
  5. val act: Activation

    is an activation function to be applied

    is an activation function to be applied

    Attributes
    protected
    Definition Classes
    SplitTensorLayerRank3TensorLayerLayer
  6. def andThen[A](g: (ScalarMatrix) ⇒ A): (ScalarMatrix) ⇒ A

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  7. def apply(x: ScalarMatrix): ScalarMatrix

    Forward computation

    Forward computation

    x

    input matrix

    returns

    output matrix

    Definition Classes
    Rank3TensorLayerLayer → Function1
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. final val bias: ScalarMatrix

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def compose[A](g: (A) ⇒ ScalarMatrix): (A) ⇒ ScalarMatrix

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. final val dL: ArrayBuffer[ScalarMatrix]

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  13. final val dQ: ArrayBuffer[ScalarMatrix]

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  14. val dW: IndexedSeq[ScalarMatrix]

    accumulated delta values

    accumulated delta values

    returns

    delta-weight

    Definition Classes
    Rank3TensorLayerLayer
  15. final val db: ScalarMatrix

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  16. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  18. final val fanIn: Int

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  19. final val fanInA: Int

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  20. final val fanInB: Int

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  21. val fanIns: (Int, Int, Int)

    is the number of input.

    is the number of input. (vector1, vector2, entire).

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  22. val fanOut: Int

    is the number of output

    is the number of output

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  25. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  26. def in1(x: ScalarMatrix): ScalarMatrix

    Retrieve first input

    Retrieve first input

    x

    input to be separated

    returns

    first input

    Attributes
    protected
    Definition Classes
    SplitTensorLayerRank3TensorLayer
  27. def in2(x: ScalarMatrix): ScalarMatrix

    Retrive second input

    Retrive second input

    x

    input to be separated

    returns

    second input

    Attributes
    protected
    Definition Classes
    SplitTensorLayerRank3TensorLayer
  28. def into_:(x: ScalarMatrix): ScalarMatrix

    Sugar: Forward computation.

    Sugar: Forward computation. Calls apply(x)

    x

    input matrix

    returns

    output matrix

    Attributes
    protected[kr.ac.kaist.ir.deep]
    Definition Classes
    Layer
  29. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  30. final val linear: ArrayBuffer[ScalarMatrix]

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  31. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  34. final val quadratic: ArrayBuffer[ScalarMatrix]

    Attributes
    protected
    Definition Classes
    Rank3TensorLayer
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  36. def toJSON: JsObject

    Translate this layer into JSON object (in Play! framework)

    Translate this layer into JSON object (in Play! framework)

    returns

    JSON object describes this layer

    Definition Classes
    SplitTensorLayerLayer
  37. def toString(): String

    Definition Classes
    Function1 → AnyRef → Any
  38. def updateBy(error: ScalarMatrix, input: ScalarMatrix, output: ScalarMatrix): ScalarMatrix

    Backward computation.

    Backward computation.

    error

    to be propagated ( dG / dF is propagated from higher layer )

    input

    of this layer (in this case, x = entry of dX / dw)

    output

    of this layer (in this case, y)

    returns

    propagated error (in this case, dG/dx )

    Attributes
    protected[kr.ac.kaist.ir.deep]
    Definition Classes
    Rank3TensorLayerLayer
    Note

    Let this layer have function F composed with function X(x) = x1'.Q.x2 + L.x + b and higher layer have function G. (Each output is treated as separately except propagation)

    Weight is updated with: dG/dW and propagate dG/dx

    For the computation, we only used denominator layout. (cf. Wikipedia Page of Matrix Computation) For the computation rules, see "Matrix Cookbook" from MIT.

  39. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Rank3TensorLayer

Inherited from Layer

Inherited from Serializable

Inherited from Serializable

Inherited from (ScalarMatrix) ⇒ ScalarMatrix

Inherited from AnyRef

Inherited from Any

Ungrouped