网易首页 > 网易号 > 正文 申请入驻

训练速度最高100倍提升!基于PyTorch实现的可微逻辑门网络开源

0
分享至


选自arXiv

作者:Felix Petersen等

机器之心编译

编辑:袁铭怿

本文通过逻辑门组合学习来探索面向机器学习任务的逻辑门网络。这些网络由 AND 和 XOR 等逻辑门组成,为了实现有效训练,本文提出可微逻辑门网络,一种结合了实值逻辑和网络连续参数化松弛的架构。

随着神经网络的成功应用,各项研究和机构也一直在致力于实现快速且高效的计算,特别是在推理时。对此,各种技术应运而生,包括降低计算精度,二进制和稀疏神经网络。本文中,来自斯坦福大学、萨尔茨堡大学等机构的研究者希望训练出一种不同的、在计算机领域被广泛应用的体系架构:逻辑门网络(logic (gate) networks)。

训练像逻辑门这样的离散组件网络所面临的问题是,它们是不可微的,因此,一般而言,不能通过梯度下降等标准方法进行优化。研究者提出了一种方法是无梯度优化方法,如演化训练(evolutionary training),它适用于小型模型,但不适用于大型模型。

在这项工作中,该研究探索了用于机器学习任务的逻辑门网络。这些网络由「AND」和「XOR」等逻辑门电路组成,可以快速执行任务。逻辑门网络的难点在于它通常是不可微的,不允许用梯度下降进行训练。因此,可微逻辑门网络的出现是为了进行有效的训练。由此产生的离散逻辑门网络实现了快速的推理速度,例如,在单个 CPU 核上每秒处理超过一百万张 MNIST 图像。这篇论文入选 NeurIPS 2022 。

  • 论文地址:https://arxiv.org/pdf/2210.08277.pdf

纽约大学计算机科学教授 Alfredo Canziani 表示:由逻辑门(如 AND 和 XOR)组成的可学习组合网络,允许非常快速的执行任务及硬件实现。

距离论文公开才过去三个月,论文作者 Felix Petersen 表示该研究的官方实现已经公布,他们发布了 difflogic 项目,这是一个基于 pytorch 实现的可微逻辑门网络库。不仅如此,经过优化现在的训练速度比最初的速度快 50-100 倍,因为该研究提供了高度优化的 CUDA 内核。

项目介绍

difflogic 是一个基于 Python 3.6 + 和 PyTorch 1.9.0 + 的库,基于逻辑门网络进行训练和推理。该库安装代码如下:

pip install difflogic

需要注意的是,使用 difflogic,还需要 CUDA、CUDA 工具包(用于编译)以及 torch>=1.9.0(匹配 CUDA 版本)。

下面给出了 MNIST 数据集的可微逻辑网络模型的定义示例:

from difflogic import LogicLayer, GroupSumimport torchmodel = torch.nn.Sequential( torch.nn.Flatten(), LogicLayer(784, 16_000), LogicLayer(16_000, 16_000), LogicLayer(16_000, 16_000), LogicLayer(16_000, 16_000), LogicLayer(16_000, 16_000), GroupSum(k=10, tau=30))

该模型接收了 784 维的输入,并返回 k=10,对应于 MNIST 的 10 个类。该模型可以用 torch.nn.CrossEntropyLoss 进行训练,类似于在 PyTorch 中训练其他神经网络模型的方式。值得注意的是,Adam 优化器(torch. optimt .Adam)可用于训练,推荐的默认学习率是 0.01 而不是 0.001。最后,同样需要注意的是,与传统的 MLP 神经网络相比,逻辑门网络每层神经元的数量要高得多,因为后者非常稀疏。

为了深入了解这些模块的细节,下面是一些更详细的示例:

layer = LogicLayer( in_dim=784, # number of inputs out_dim=16_000, # number of outputs device='cuda', # the device (cuda / cpu) implementation='cuda', # the implementation to be used (native cuda / vanilla pytorch) connections='random', # the method for the random initialization of the connections grad_factor=1.1, # for deep models (>6 layers), the grad_factor should be increased (e.g., 2) to avoid vanishing gradients)

模型推理

在训练期间,模型应该保持在 PyTorch 训练模式,即.train (),这种模式使得模型保持可微。现在有两种模式可以进行快速推理:

  • 第一种选择是使用 PackBitsTensor。PackBitsTensors 允许在 GPU 上高效动态的执行训练好的逻辑门网络。
  • 第二种选择是使用 CompiledLogicNet。CompiledLogicNet 允许在 CPU 上高效地执行固定训练的逻辑门网络。

下面给出一些实验示例,它们包含在 experiments 目录中。main.py 用于执行,main_baseline.py 是包含规则的神经网络基线。

MNIST

python experiments/main.py -bs 100 -t 10 --dataset mnist20x20 -ni 200_000 -ef 1_000 -k 8_000 -l 6 --compile_modelpython experiments/main.py -bs 100 -t 30 --dataset mnist -ni 200_000 -ef 1_000 -k 64_000 -l 6 --compile_model# Baselines:python experiments/main_baseline.py -bs 100 --dataset mnist -ni 200_000 -ef 1_000 -k 128 -l 3python experiments/main_baseline.py -bs 100 --dataset mnist -ni 200_000 -ef 1_000 -k 2048 -l 7

CIFAR-10

python experiments/main.py -bs 100 -t 100 --dataset cifar-10-3-thresholds -ni 200_000 -ef 1_000 -k 12_000 -l 4 --compile_modelpython experiments/main.py -bs 100 -t 100 --dataset cifar-10-3-thresholds -ni 200_000 -ef 1_000 -k 128_000 -l 4 --compile_modelpython experiments/main.py -bs 100 -t 100 --dataset cifar-10-31-thresholds -ni 200_000 -ef 1_000 -k 256_000 -l 5python experiments/main.py -bs 100 -t 100 --dataset cifar-10-31-thresholds -ni 200_000 -ef 1_000 -k 512_000 -l 5python experiments/main.py -bs 100 -t 100 --dataset cifar-10-31-thresholds -ni 200_000 -ef 1_000 -k 1_024_000 -

想要了解更多内容,请参考原项目。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
人社部召开发布会,公布了6个养老金好消息,关系重大,了解一下

人社部召开发布会,公布了6个养老金好消息,关系重大,了解一下

猫叔东山再起
2024-04-27 09:47:32
你错过了多少异性给你的暗示?

你错过了多少异性给你的暗示?

户外阿崭
2024-04-08 07:35:07
卖淫女子接到宾馆老板通风报信后上天台躲避坠亡,家属起诉宾馆方索赔151万被驳回

卖淫女子接到宾馆老板通风报信后上天台躲避坠亡,家属起诉宾馆方索赔151万被驳回

红星新闻
2024-04-27 20:15:15
北京一出租车司机载5名舞女回家,打完牌后,却将5人塞进树林

北京一出租车司机载5名舞女回家,打完牌后,却将5人塞进树林

一场奇遇日记
2024-04-27 21:18:12
5位因忘记“拉窗帘”,而口碑一落千丈的明星,谁最令你意外?

5位因忘记“拉窗帘”,而口碑一落千丈的明星,谁最令你意外?

你是我的青春
2024-04-26 09:11:01
国足中场新归化强援正式到位!已提前成功入籍,就等伊万主动征召

国足中场新归化强援正式到位!已提前成功入籍,就等伊万主动征召

罗掌柜体育
2024-04-27 08:49:46
减持美债1644亿,吃进黄金2800吨,我们给耶伦,送上了一份惊喜

减持美债1644亿,吃进黄金2800吨,我们给耶伦,送上了一份惊喜

户外钓鱼哥阿旱
2024-04-27 21:44:36
上海热门打卡地一女子落水!有人伸腿够、有人拿网捞,都失败了,好在……

上海热门打卡地一女子落水!有人伸腿够、有人拿网捞,都失败了,好在……

新民晚报
2024-04-26 12:46:27
67岁向太入院抢救!摔倒30分钟无人应,手术5小时向华强全程陪伴

67岁向太入院抢救!摔倒30分钟无人应,手术5小时向华强全程陪伴

麦大人
2024-04-27 14:40:43
普京: 今年前2个月俄罗斯国内生产总值增长6% 今年第一季度与去年同期相比, 俄罗斯联邦预算收入增长了50%

普京: 今年前2个月俄罗斯国内生产总值增长6% 今年第一季度与去年同期相比, 俄罗斯联邦预算收入增长了50%

每日经济新闻
2024-04-27 20:40:58
俄罗斯损失惊人!这到底是去了谁的军事化?

俄罗斯损失惊人!这到底是去了谁的军事化?

娱宙观
2024-04-25 22:51:46
50万解放军3000辆坦克:随时解放台湾,亚太美军或面临灭顶之灾

50万解放军3000辆坦克:随时解放台湾,亚太美军或面临灭顶之灾

葛剑生
2024-04-26 10:13:08
世间再无白素贞?网传赵雅芝去世,本人未出面澄清,工作室回应

世间再无白素贞?网传赵雅芝去世,本人未出面澄清,工作室回应

八卦王者
2024-04-27 11:35:08
哈马斯宣布投降,却遭以色列拒绝,是以色列残酷吗?

哈马斯宣布投降,却遭以色列拒绝,是以色列残酷吗?

走读新生
2024-04-26 09:22:32
悲剧!男子夜钓遭遇眼镜蛇,徒手抓蛇被咬,当晚人就没了

悲剧!男子夜钓遭遇眼镜蛇,徒手抓蛇被咬,当晚人就没了

小胡渔记
2024-04-26 08:15:03
想多活几年,一定改掉这10个坏习惯!

想多活几年,一定改掉这10个坏习惯!

闻心品阁
2024-04-25 08:53:01
“要么签,要么打”

“要么签,要么打”

环球时报新闻
2024-04-27 14:23:31
篮协重罚!停赛5场+罚款30万,这个CBA“恶汉”下手真狠

篮协重罚!停赛5场+罚款30万,这个CBA“恶汉”下手真狠

刺头体育
2024-04-27 17:49:31
外东北已经归属俄国165年之久,为何依旧发展不起来?

外东北已经归属俄国165年之久,为何依旧发展不起来?

黎庶文史
2024-04-26 23:43:57
告诉大家一个很残酷的真相。现在大学生毕业找不到工作...

告诉大家一个很残酷的真相。现在大学生毕业找不到工作...

小李子体育
2024-04-26 07:10:33
2024-04-28 06:06:44
机器之心Pro
机器之心Pro
专业的人工智能媒体
8934文章数 141895关注度
往期回顾 全部

科技要闻

特斯拉这款车型刚上市几天,就上调价格

头条要闻

租车开网约车遭遇车损"套路":有人扣完押金还要倒补

头条要闻

租车开网约车遭遇车损"套路":有人扣完押金还要倒补

体育要闻

9-13!斯佳辉逆转未果,无缘世锦赛八强,中国选手全部出局

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

北京房价回到2016年

汽车要闻

5月上市/智能化丰富 海狮 07EV正式到店

态度原创

家居
亲子
教育
手机
军事航空

家居要闻

光影之间 空间暖意打造生活律动

亲子要闻

孩子静悄悄 必定在作妖

教育要闻

初中物理常考易错题型之一!很多初中生直到高中才真正弄明白

手机要闻

OPPO Find X7 Ultra 512GB卫通版明天首销:6799元

军事要闻

军事专家:福建舰距离海试为期不远

无障碍浏览 进入关怀版