Skip to content

Instantly share code, notes, and snippets.

@Atry
Created October 19, 2016 08:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Atry/de9d8e32b7ea71a918e10318a7df590c to your computer and use it in GitHub Desktop.
Save Atry/de9d8e32b7ea71a918e10318a7df590c to your computer and use it in GitHub Desktop.

DeepLearning.scala是一门语言,用来创建结构极其复杂的神经网络。

DeepLearning.scala支持复杂数据结构

TensorFlow等其他深度学习框架只支持tensor一种数据结构,神经网络的输入输出都是tensor,业务含义晦涩不明。

Differentiable.scala除了支持tensor以外,还支持复杂的ADT数据结构。ADT可以表示业务模型。所以,你可以让神经网络像普通代码一样,输入输出都是有业务含义的数据结构。你不再需要在神经网络之外加入向量化和数据清理的代码,而可以用神经网络本身直接处理业务数据。

DeepLearning.scala支持静态类型检查

传统的数据科学家都是独行侠,他们根据自己的经验创造模型,模型之间没有定义清晰的接口,从工程角度讲,模型的结构和权重都难以复用,每个新模型都需要重新训练。

用DeepLearning.scala编写的神经网络,像普通的函数一样有个签名。只要输入和输出类型匹配,两个神经网络就可以组合在一起,结构和权重都可以复用。

DeepLearning.scala支持复杂控制结构

TensorFlow等其他深度学习框架只支持加减乘除乘方开方等数学运算。

DeepLearning.scala除了支持数学运算以外,还支持控制结构。比如,你可以使用if语句,让神经网络的某些计算步骤只在特定条件下才计算。你可以利用这种能力编写巨大的神经网络,对于每个样本只运行其中很小的子网络。这样的神经网络可以极为通用,同时运行得又很快。

结论

总的来说,DeepLearning.scala是一门完备的编程语言。你并不需要专门学习人工智能,你可以像Java程序员一样编程,写出来的程序就自动有了学习能力。

@tcz001
Copy link

tcz001 commented Nov 22, 2016

总觉得怪怪的,tensorflow是隐藏了针对激励函数做反馈的框架,虽然也封装了一些领域运算语言,却是出于利用gpu CUDA加速张量运算的优化目的,这个思路好像并不和tf竞争关系吧

@Atry
Copy link
Author

Atry commented Nov 23, 2016

这是私有gist,你怎么找到这里来的……

@ztmdsbt
Copy link

ztmdsbt commented Nov 24, 2016

貌似不是似有.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment