"CTCBeamSearch" (神经网络解码器)

NetDecoder[{"CTCBeamSearch",alphabet}]

表示一个解码器,对概率向量序列进行解释,给出最有可能的序列解码.

NetDecoder[{"CTCBeamSearch",,"BeamSize"n}]

表示具有指定柱宽度 (beam size) 的解码器.

更多信息

  • NetDecoder[][input] 对一个输入应用解码器,产生一个输出.
  • NetDecoder[][{input1,input2,}] 对一系列输入应用解码器,产生一系列输出.
  • "CTCBeamSearch" 解码器的输入数组必须是向量序列,每一个的大小为 n+1,其中 n 是字母表的大小. 每个向量的最后一个元素表示特殊的空白类.
  • "CTCBeamSearch" 的输出是字母表中最大长度等于输入序列长度的元素序列. 通常返回较少的元素.
  • 在构建网络时,可通过指定 "port"->NetDecoder[] 将解码器添加到网络的输出端口上.
  • 参数
  • 当参数设置为 "BeamSize"->n 时,"CTCBeamSearch" 解码器将在处理期间保持 n 个候选解码. 默认值为 100.
  • "BeamSize"1 相当于贪婪搜索 (greedy search),在序列中的每个元素上选择最高概率.
  • 属性
  • NetDecoder[][data,prop] 可用来计算输入数据的特定属性.
  • "CTCBeamSearch" 解码器被添加到网络中时,net[data,prop] or net[data,"oport"->prop] 可用来计算解码后的输出的特定属性.
  • "CTCBeamSearch" 解码器支持下列属性:
  • "Decoding"找到的单个最可能的序列(默认)
    "Decodings"找到的所有最可能的序列
    "TopDecodings"->n给出 n 个最可能的序列
    "NegativeLogLikelihoods"给出每个解码的负对数似然,以规则的形式返回
    "TopNegativeLogLikelihoods"->n给出前 n 个解码的负对数似然
    None不解码,直接返回输入

范例

基本范例  (1)

创建一个 CTC beam search 解码器:

对概率向量序列使用解码器:

获取前三个解码后的序列及它们的负对数似然: