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

训练速度最高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.

相关推荐
热点推荐
疯狂打脸!特朗普,彻底认怂了!

疯狂打脸!特朗普,彻底认怂了!

霹雳炮
2026-03-24 21:47:56
张雪峰是AC米兰铁杆球迷,喜欢卡卡,俱乐部官方发文悼念

张雪峰是AC米兰铁杆球迷,喜欢卡卡,俱乐部官方发文悼念

米修体育
2026-03-25 04:30:53
陈天桥:那一夜梁文锋拒绝了我的投资,却让我决定投入10亿美金去做另一件事

陈天桥:那一夜梁文锋拒绝了我的投资,却让我决定投入10亿美金去做另一件事

猎云网
2026-03-19 15:28:10
4.7万亿!马斯克打破人类财富纪录:他一个人的钱抵得过160个国家

4.7万亿!马斯克打破人类财富纪录:他一个人的钱抵得过160个国家

通鉴史智
2026-03-15 11:45:00
10派8元、10派5元!A股,“红包雨”来袭!

10派8元、10派5元!A股,“红包雨”来袭!

证券时报e公司
2026-03-24 23:12:56
看了新加坡媒体的披露,我才知道,中国已经没必要向世界证明什么

看了新加坡媒体的披露,我才知道,中国已经没必要向世界证明什么

触摸史迹
2026-03-21 02:58:06
蒋介石孙子召开发布会,提出“两蒋”移灵大陆,2句话让世人唏嘘

蒋介石孙子召开发布会,提出“两蒋”移灵大陆,2句话让世人唏嘘

老谢谈史
2026-03-18 18:33:35
15.5万起!比亚迪官宣:3月26日,新车正式上市

15.5万起!比亚迪官宣:3月26日,新车正式上市

高科技爱好者
2026-03-24 23:20:20
刚刚,突发大跳水!

刚刚,突发大跳水!

中国基金报
2026-03-24 18:45:47
旅行者号撞上"空气墙"?宇宙可能就是一场精心设计的大型模拟游戏

旅行者号撞上"空气墙"?宇宙可能就是一场精心设计的大型模拟游戏

李将平老师
2026-03-22 16:46:15
不简单,萧旭岑反击,证实金溥聪一件事,马英九与吴敦义高下立判

不简单,萧旭岑反击,证实金溥聪一件事,马英九与吴敦义高下立判

林子说事
2026-03-24 18:46:18
7000 家央国企春招,本科却成废纸?门槛高到离谱求职者彻底破防

7000 家央国企春招,本科却成废纸?门槛高到离谱求职者彻底破防

眼界看视野
2026-03-24 11:00:18
正式官宣!斯蒂尔加盟山东男篮,替换克里斯,邱彪冲击前四

正式官宣!斯蒂尔加盟山东男篮,替换克里斯,邱彪冲击前四

体坛瞎白话
2026-03-24 17:42:02
拒绝停战?炸约旦F35基地,美军2艘13万吨巨舰,驶向中东

拒绝停战?炸约旦F35基地,美军2艘13万吨巨舰,驶向中东

近史博览
2026-03-25 03:40:37
talkSPORT:瓜帅今夏离队,继任候选包括马雷斯卡、阿莫林等

talkSPORT:瓜帅今夏离队,继任候选包括马雷斯卡、阿莫林等

懂球帝
2026-03-25 00:43:40
我国害人不浅的9所大学!被人民日报点名批评!毕业证就是废纸!

我国害人不浅的9所大学!被人民日报点名批评!毕业证就是废纸!

高三倒计时
2026-03-22 16:49:58
景甜穿透视裙,深V抹胸高定,自带光晕!

景甜穿透视裙,深V抹胸高定,自带光晕!

吃瓜党二号头目
2026-03-06 10:08:25
几十个家庭垄断一座城:县城婆罗门的闭环游戏,正在逼走年轻人

几十个家庭垄断一座城:县城婆罗门的闭环游戏,正在逼走年轻人

黑噪音
2026-03-21 19:33:08
美国人终于发现:中国的东风导弹,不用击沉我们航母,擦着即伤!

美国人终于发现:中国的东风导弹,不用击沉我们航母,擦着即伤!

触摸史迹
2026-03-24 12:32:06
揪心!十字韧带+髌腱重伤,林书豪等人曾因此陨落,23岁啊,可惜

揪心!十字韧带+髌腱重伤,林书豪等人曾因此陨落,23岁啊,可惜

球童无忌
2026-03-24 14:45:08
2026-03-25 04:40:49
机器之心Pro incentive-icons
机器之心Pro
专业的人工智能媒体
12588文章数 142592关注度
往期回顾 全部

科技要闻

年仅41岁,教育名师张雪峰猝然离世

头条要闻

张雪峰去世 猝死前身体的3个求救信号别忽视

头条要闻

张雪峰去世 猝死前身体的3个求救信号别忽视

体育要闻

NBA最强左手射手,是个右撇子

娱乐要闻

张雪峰经抢救无效不幸去世 年仅41岁

财经要闻

特朗普再TACO 可以押注伊朗局势降级?

汽车要闻

尚界Z7双车预售22.98万起 问界M6预售26.98万起

态度原创

艺术
时尚
游戏
房产
教育

艺术要闻

300米!非洲最高全钢混住宅,中国建造又破纪录!

豪门梦破碎后,她居然还能爆红?

余霜管泽元官宣怀孕!“小队新成员” 来了

房产要闻

北上广深二手房集体回暖!三月小阳春行情全面兑现

教育要闻

圣母大学,访问顶级211

无障碍浏览 进入关怀版