Hello 
Are there any plans for an (approximate) Wasserstein loss layer to be implemented - or maybe its already out there?
It’s been in mocha for quite a while,

  
      github.com
  
  
    pluskid/Mocha.jl/blob/master/src/layers/wasserstein-loss.jl 143
@defstruct WassersteinLossLayer Layer (
  name :: AbstractString = "wasserstein-loss",
  (M :: Matrix = [], !isempty(M)),
  (lambda :: AbstractFloat = 0, lambda > 0),
  (sinkhorn_iter :: Int = 50, sinkhorn_iter > 0),
  (bottoms :: Vector{Symbol} = Symbol[], length(bottoms) == 2)
)
@characterize_layer(WassersteinLossLayer,
  has_loss  => true,
  can_do_bp => true,
  is_sink   => true,
)

type WassersteinLossLayerState{T} <: LayerState
  layer :: WassersteinLossLayer
  loss  :: T

  K     :: Blob
  KM    :: Blob
  alpha :: Blob


  This file has been truncated. show original

  
  
    
    
  
  


The theory’s and implementation is a little bit beyond my superficial understanding, (Appendix D), but it seems quite impressive!

  
      people.csail.mit.edu
  
  
    
wasserstein.pdf 325

2.55 MB