4. 通过RNN拟合cos曲线
rnn的计算图如下:
递归隐藏层窗口为3的时候计算图:
递归隐藏层窗口为5的时候计算图:
七、小结
1、TinyDL只是一个对Javaer入门AI友好的Demo框架
一直坚信整洁的代码会自己说话,争取做到代码本身文档。以上写了那么多,其实最好的方式是直接debug一下。同时TinyDL只是为了对Javaer学习AI的一个Demo级别的深度学习框架,目前其并不适合真实环境的使用,但是希望对Java程序员拥抱AI起到一点点作用。就目前的趋势看,Python在AI领域的生态优势已经非常明显了,且Python最开始就是对数学表达友好的语言,其在运算符上有大量的重载数学可读性更强。所以要想真的把AI的能力用起来,Python应该是绕不过的坎。
2、TinyDL-0.02 计划把todo的能力补上,支持一些高级网络特性
其中最近大火的Transformer网络架构和attention层,由于时间匆忙都没来得及实现,TinyDL-0.02希望基于seq2seq的框架实现 tansfromer的原型;还有模型训练上,目前是最简单的单线程运行的,后续会实现参数服务器的分布式网络训练的原型。
3、利用chatGPT协助写代码真的可以提升效率
TinyDL中大概1/3的代码是借助chatGPT完成的,用最近比较流行的说法:程序员将成为自己最后的掘墓人,chatGPT之后码农命运的齿轮开始反转。
参考链接:
[1] https://github.com/Leavesfly/linux-0.01/blob/master/README
[2] https://github.com/Leavesfly/TinyDL-0.01
[3] https://github.com/deeplearning4j/deeplearning4j
[4] https://github.com/deepjavalibrary/djl
[5] https://github.com/Leavesfly/TinyDL-0.01
[6] https://github.com/Leavesfly/TinyDL-0.01/blob/main/src/main/java/io/leavesfly/tinydl/ndarr/NdArray.java
[7] https://github.com/jash-git/Jash-good-idea-20200304-001/blob/master/CN AI book/深度学习的数学.pdf