基于Keras实现加密过的数据的卷积神经网络

来自奥胡斯大学密码学PhD、Datadog机器学习工程师Morten Dahl介绍了如何实现基于加密数据进行训练和预测的卷积神经网络。本文进行概括和总结

工作
使用一个经典CNN模型,使其能够用于基于加密数据进行训练和预测。

动机
CNN目前可以用于很多分析图像的领域。如果能够让实际使用的用户在应用场景下提供更多的数据,那么模型的性能肯定可以提高。但是这涉及很多用户的隐私问题,如果用户可以明确自己提交的数据是确保隐私安全的,那么将可以吸引更多用户使用这些工具,提交更多数据。
基于MPC我们可以潜在地降低暴露信息的风险,从而增强参与的动机。更具体地说,通过转而在加密数据上训练,我们不仅可以防止任何人查看个人数据,还可以防止泄露学习到的模型参数。

使用简单的CNN模型
用例是经典的MNIST手写数字识别,模型是Keras示例中的CNN模型

#keras
feature_layers = [
    Conv2D(32, (3, 3), padding='same', input_shape=(28, 28, 1)),
    Activation('relu'),
    Conv2D(32, (3, 3), padding='same'),
    Activation('relu'),
    MaxPooling2D(pool_size=(2,2)),
    Dropout(.25),
    Flatten()
]

classification_layers = [
    Dense(128),
    Activation('relu'),
    Dropout(.50),
    Dense(NUM_CLASSES),
    Activation('softmax')
]

model = Sequential(feature_layers + classification_layers
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值