【问题标题】:Does a machine learning algorithm copy the data it learns from?机器学习算法是否复制它所学习的数据?
【发布时间】:2017-06-07 10:40:10
【问题描述】:

我不是程序员,而是法律专业的学生,​​但我目前正在研究一个涉及人工智能和版权法的项目。我目前正在研究如果算法使用受保护的作品,机器学习算法的学习过程是否可能侵犯版权。但是,这取决于算法是否复制工作或执行其他操作。

谁能告诉我机器学习算法是否通常会复制他们正在分析的数据(图片/文本/视频/等)(即使只是短暂的),或者他们是否能够通过其他方法从数据中获取所需的信息不需要复制(类似于人类看着停车标志并将其识别为停车标志而不必复制图像)。

对于我缺乏知识深表歉意,如果我的任何解释与任何已建立的机器学习知识相悖,我深表歉意。正如我所说,我只是一个卑微的法律学生。

提前致谢!

【问题讨论】:

    标签: algorithm machine-learning neural-network artificial-intelligence deep-learning


    【解决方案1】:

    机器学习算法是否复制它所学习的数据?

    有许多不同的机器学习算法。如果您说的是k nearest neighbor (k-NN),那么答案就是

    但是,k-NN 很少使用。大多数(全部?)其他模型并不那么简单。通常,机器学习开发人员希望训练数据被模型压缩(很多,有损),原因如下:(1)训练数据量很大(很多 GB),(2)如果训练数据被压缩 (3) 如果数据没有被压缩,新示例的推断可能需要很长时间。 (“压缩”是指提取任务的相关信息并删除不相关的数据。不是通常意义上的压缩。)

    对于除 k-NN 之外的其他模型,答案更为复杂。 这取决于您认为什么是“副本”。例如,从人工神经网络(尤其是convolutional neural networks 的子类型,简称:CNNs)可以部分恢复训练数据。这些模型为许多(全部?)计算机视觉任务提供了最先进的技术。

    我找不到表明您可以(部分)从 CNN 中恢复/提取训练数据的论文,重点是可能的隐私/版权问题,但我有大约 70% 的把握我已经阅读了关于这个问题的摘要。我想我也听过一个谈话,一位研究人员说在构建儿童色情检测器时这是一个问题。但是,我认为没有记录或发布任何关于此的内容。

    这里有两篇论文表明从 CNN 恢复训练数据是可能的:

    【讨论】:

      【解决方案2】:

      有些机器确实复制了 KNN 等数据集。不幸的是,此类算法在实践中并不常用,因为它们无法针对大型数据集进行扩展。

      大多数机器学习算法使用数据集来识别模式,这就是为什么模式识别是机器学习的另一个名称。该模式几乎总是比原始数据集小得多(就内存和变量等而言)。

      【讨论】:

        【解决方案3】:

        一些机器学习算法实际上保留了训练集的副本,例如 k 近邻。见https://en.wikipedia.org/wiki/Instance-based_learning。并非所有人都这样做;事实上它通常被认为是一个劣势,因为训练集可能很大。

        此外,计算机也是围绕许多不同大小和速度的不同数据存储构建的。他们通常在处理数据时将正在处理的数据复制到小型快速存储,因为较大的存储需要更长的时间来读取和写入。这方面的许多可能例子之一是法律争论的主题,我对此知之甚少 - 参见例如https://law.stackexchange.com/questions/2223/why-does-browser-cache-not-count-as-copyright-infringement 和其他浏览器缓存版权。如果一台计算机添加了两个数字,它肯定会将它们存储在其内部存储器中。它很可能已经将其中至少一个存储在所谓的内部寄存器中 - 非常小的非常快速的内存,用于存储要处理的数字。

        如果计算机(或任何其他电子设备)已被用于处理机密数据,通常从那时起将其视为机密数据,并在最坏的情况下假设它可能保留了任何数据的副本它用于处理的数据,即使从中检索数据在实践中也需要大量专业知识和专业设备。

        【讨论】:

          【解决方案4】:

          通常,不会。典型的 ML 算法对其输入所做的第一件事不是复制或存储它,而是基于它计算一些东西,然后忘记原来的。这是对神经网络、回归算法和统计方法所做工作的公平描述。主流 ML 中没有“eidetic memory”。我想任何做的事情都会作为数据库或全文索引引擎或类似的东西来销售。

          但是如何在不先将数据复制到机器上的情况下将数据呈现给在机器上运行的算法呢?

          【讨论】:

          • 感谢您的回复克里斯。就算法如何获取数据而言,在给定一组定义的数据的情况下,可以为此目的从版权所有者那里获得许可,并且不会造成太多棘手的法律问题。我更感兴趣的是算法是否无意中使用了未经许可的受保护作品,以及这是否侵犯版权。算法是否可以这样做,或者它们是否总是根据一组定义的训练数据进行操作?
          • 扩展“无意中使用”?如果将其作为训练数据提供给算法,那么这不是无意的。如果在训练后看到它在使用中 – 啊,这很棘手。目前主流(不是全部)方法是在训练后学习或记住(尽管我不打赌它会在 5-10 年内保持主流方法)。
          • 我想我的主要问题是机器学习算法是否有可能在训练期间使用未明确提供给它的数据?例如,作为一名程序员,我是否有可能将我的算法设置为在互联网上搜索停车标志的图片,以获取尽可能多的数据来训练自己?
          • 那么我认为您的“无意使用”类别不存在。计算机只做它们被明确编程的事情。是的,您可以对其进行编程以搜索互联网。谷歌在训练他们的面部/猫检测器时使用了随机的 youtube 视频。但在我看来,这是明确提供,而不是无意使用:只有在编程时才会拖网。但是,是的,这意味着您正在拖网您无权使用的作品。是的,然后我会坚持我的回答“通常情况下,它不会被复制,除非它第一次被复制到机器上”
          • 太棒了,非常感谢。我认为我对“无意”这个词的使用是错误的。我的意思是使用在互联网上搜索数据的过程中开发人员不明确知道的特定数据。再次感谢您的帮助,这当然是一个有趣的问题,大多数国家在其法律框架中都没有准备好。
          【解决方案5】:

          这取决于您所说的“复制”一词的含义。如果您运行任何程序,它会将数据从硬盘复制到 RAM 进行处理。我假设这不是你的意思。

          假设您在特定机器上拥有受版权保护的数据,并且您在数据上运行机器学习算法,那么算法没有理由将数据复制出机器。

          另一方面,如果您使用云 ML 服务(AWS/IBM Bluemix/Azure),则需要先将数据上传到云中,然后才能运行 ML 算法。这意味着您正在复制数据。

          希望这能带来更多启示!

          低 ML 学生

          【讨论】:

            猜你喜欢
            • 2011-08-01
            • 1970-01-01
            • 2012-03-14
            • 2015-10-06
            • 2014-06-23
            • 2017-08-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多