Instantly share code, notes, and snippets.

Embed
What would you like to do?

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

This comment has been minimized.

Copy link

tcz001 commented Nov 22, 2016

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

@Atry

This comment has been minimized.

Copy link
Owner

Atry commented Nov 23, 2016

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

@ztmdsbt

This comment has been minimized.

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