Julia + Flux.jl:GraphSAGE 与图神经网络
时隔多年,Julia 机器学习系列终于迎来
并不值得期待的更新!
趁着毕业设计研究图神经网络的机会,让我们来聊聊如何用 Julia 实现一个简单的图神经网络!
时隔多年,Julia 机器学习系列终于迎来
并不值得期待的更新!
趁着毕业设计研究图神经网络的机会,让我们来聊聊如何用 Julia 实现一个简单的图神经网络!
对于学生来说,九月是一个特殊的时节。夏日方尽,秋风转凉,新生入学,老人散场。九月并不长,但足以让很多事发生:其中有些或许会决定你剩余的人生,嗯,至少是未来的五到十年里的际遇。
九月,九月!
而我的九月并不顺畅。它动荡、坎坷,如同海上的风暴,一波又一波,让我喘不过气。
上周我花了两三天时间给 flake8 写了一个插件:flake8-too-many。这个插件可以算是 RSSerpent 项目的一个派生产品:我希望通过把这个插件应用到 RSSerpent 项目上,来保证其代码质量。本文将以 flake8-too-many 为例,介绍什么是 setuptools 的 entry point 机制、以及flake8 插件的基本结构。
上回说到如何使用 Julia + Flux.jl 完成一个简单的 MNIST 手写数字识别任务。通过使用 LeNet 架构,我们的神经网络在测试集上已经能达到约 99% 的正确率 —— 看起来很棒不是吗?但实际上我们的神经网络对训练数据集有着极强的依赖性。只需对测试数据做加入一点肉眼甚至难以察觉的噪音,就足以使神经网络产生「失之毫厘,谬以千里」的结果。本文就将讨论如何使用 Fast Gradient Sign Method(FGSM)1 扰动测试数据、从而对神经网络发起攻击。
神经网络很多时候在训练数据上保持着微妙而脆弱的平衡,这也在一定程度上佐证了「数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已」的观点。