用Transformer做线代作业,真香!( 二 )


例如 , 3.14 将表示为 , 并编码为 。 下图中展示了一些编码的示例 。

用Transformer做线代作业,真香!

文章插图
第二步 , 随机矩阵生成 。
大多数实验是在均匀分布的随机矩阵数据集上训练模型的 ,  [ A, A ] ( with A = 10 ) 。 有时 , 也对具有相同标准偏差的高斯系数进行采样 。
在研究特征值问题的分布外泛化时 , 生成具有不同特征值分布的随机对称矩阵(对应于具有非 iid 系数的随机矩阵) 。 为此 , 作者运用高斯系数随机采样对称矩阵 M , 并计算它们的特征值分解 P 是特征向量的正交矩阵 。 然后 , 用从另一个分布采样的对角线 D’ 替换 M 的特征值的对角矩阵 D 。
最后重新计算 , 一个对称矩阵(因为 P 是正交的) , 特征值按选择分布 , 特征向量均匀分布在单位球面上 。
2
实验和结果
矩阵转置
学习转置矩阵相当于学习其元素的排列 。 矩形矩阵的排列涉及更长的周期 。 作者研究了两个公式:
1. 固定大小情况 , 数据集中所有矩阵都具有相同维度 , 只需要学习一个排列 。
2. 可变大小的情况 , 数据集包括不同维度的矩阵 , 尽可能多的排列学习 。
在编码器和解码器中使用四种编码方案 , 并数据集上训练1 层、256 个维度和 8 个注意力头的 Transformer 。 模型学会在超过 99% 的测试用例准确预测解决方案(具有 0% 的容差) 。
用Transformer做线代作业,真香!

文章插图
矩阵加法
学习两个 m × n 矩阵的加法相当于学习输入和输出位置之间的对应关系(如在转置问题中) , 以及在 mn 对元素上执行浮点表示中两个数字相加的算法 。 作者对此训练了 1 层或 2 层、8 个注意力头和 512 个维度的 Transformer 。
对于大小不超过 10 的固定大小矩阵的加法 , 包括 n=m 和 n ≠ m 两种情况 , 在 1% 的容差范围达到 99% 准确率(并且在 0.5% 内超过 98%) 。 FP15 模型在 15 × 15 矩阵的 0.5% 容差内实现了 99.5% 准确率 , 而 B1999 模型在 20 × 20 矩阵上实现了 89.7% 准确率和 1% 的容差 。
维度高达 10 的可变大小矩阵由 2 层 Transformer 使用 B1999 编码预测 , 准确率超过 99.5% , 容差为 1% 。 编码器中有一层 , 解码器中有 6 层的模型在相同的数据集上实现了 77% 和 87% 的准确率 。 下图总结了实验结果 。
用Transformer做线代作业,真香!

文章插图
矩阵乘法
维数为 m × n 的矩阵 M 与向量相当于计算 V 和 M 之间的 m 个点积 。
每次点积计算包含 n 个乘法和 n 1 个加法 , 涉及矩阵中的其中一行和向量中的所有系数 。 模型必须了解这 2n 个元素在计算中的位置 , 以及两个运算(加法和乘法) 。
通过对 1 层或 2 层、超过 5 × 5 矩阵的模型进行实验 , 作者观察到 P10 和 P1000 编码的模型才能训练到高精度 。 P1000 编码性能最好 , 两层和一层模型之间差别不大 。 对于 5 × 5 和 10 × 10 平方矩阵 , 采用 P1000 编码的 2 层 Transformer 可实现 99.9% 以上的精度 , 容差为 1% 。 结果汇总在下图中 。
用Transformer做线代作业,真香!

文章插图
矩阵 M 和 P 的乘法是矩阵向量乘法的进阶版本 , 其对矩阵 P 中的每一列向量执行上述运算 。 和以前一样 , 只有使用 P10 和 P1000 的编码模型才能训练高精度预测 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。