分类: 🌏

  • ijkplayer 正确处理5G切4G

    处理5G到4G的网络切换,尤其是在视频或音频流媒体应用中,确保用户体验不受影响是至关重要的。使用 ijkplayer 这样的播放器时,可以采取以下步骤来优化网络切换过程。

    1. 优化网络切换处理

    a. 检测网络变化

    利用系统API检测网络状态变化,及时响应网络从5G切到4G的事件。比如在Android中,可以使用 ConnectivityManager 来监听网络变化:

    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkRequest.Builder builder = new NetworkRequest.Builder();
    
    connectivityManager.registerNetworkCallback(
        builder.build(),
        new ConnectivityManager.NetworkCallback() {
            @Override
            public void onAvailable(Network network) {
                // 网络可用时的处理
            }
    
            @Override
            public void onLost(Network network) {
                // 网络丢失时的处理
            }
    
            @Override
            public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
                // 网络能力变化时的处理
                if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
                    if (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
                        // 判断是4G还是5G. 可以根据LinkDownstreamBandwidthKbps等参数进行判断
                    }
                }
            }
        }
    );

    b. 缓存机制

    确保 ijkplayer 有足够的缓存,以防止在网络切换期间出现播放中断。可以在初始化播放器时配置缓存参数:

    IjkMediaPlayer mediaPlayer = new IjkMediaPlayer();
    mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "packet-buffering", 1);
    mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-buffer-size", 1024 * 1024 * 5);  // 设置缓存大小,例如5MB

    2. 降低音质或码率

    在网络降级时自动调整播放码率,保证流畅播放。可以通过自适应码率流(ABR)技术实现:

    mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "min-frames", 2);
    mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-frames", 50);
    mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 1);

    3. 实现断点续播

    在网络切换导致播放中断时,确保播放器能够自动重连并继续播放。可以使用 ijkplayeronErroronCompletion 回调来处理:

    mediaPlayer.setOnErrorListener(new IMediaPlayer.OnErrorListener() {
        @Override
        public boolean onError(IMediaPlayer mp, int what, int extra) {
            // 在这里处理错误,例如重新连接到流媒体
            mediaPlayer.reset();
            mediaPlayer.setDataSource(streamUrl);  // 设置流媒体URL
            mediaPlayer.prepareAsync();  // 异步准备
            return true;
        }
    });
    
    mediaPlayer.setOnCompletionListener(new IMediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(IMediaPlayer mp) {
            // 播放完成时的处理,例如重播或跳转到下一个流
        }
    });

    4. 监控和日志

    记录网络状态变化和播放器状态的日志,有助于分析和调试问题:

    mediaPlayer.setOnInfoListener(new IMediaPlayer.OnInfoListener() {
        @Override
        public boolean onInfo(IMediaPlayer mp, int what, int extra) {
            Log.d("PlayerInfo", "Info: " + what + ", Extra: " + extra);
            return true;
        }
    });
    
    mediaPlayer.setOnBufferingUpdateListener(new IMediaPlayer.OnBufferingUpdateListener() {
        @Override
        public void onBufferingUpdate(IMediaPlayer mp, int percent) {
            Log.d("BufferingUpdate", "Buffering: " + percent + "%");
        }
    });

    5. 测试和优化

    • 模拟网络切换:在测试环境中模拟网络从5G切换到4G. 观察应用表现并进行优化。
    • 用户反馈:收集用户在实际使用中的反馈,进一步完善应用的网络切换处理。

    通过上述步骤,可以显著提高 ijkplayer 在网络切换时的稳定性和用户体验。


    如果在网络从5G切换为4G时播放器发生了崩溃,那么需要深入分析崩溃的原因,并采取适当措施来防止崩溃。以下是一些具体的步骤和建议,用于处理 ijkplayer 在网络切换时的崩溃问题:

    1. 收集崩溃日志

    首先,需要收集崩溃日志以确定崩溃的原因。可以使用崩溃报告工具(如Firebase Crashlytics)来捕获和分析崩溃日志。

    // 示例代码:在Application类中初始化Crashlytics
    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            // 初始化Crashlytics
            FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
        }
    }

    2. 分析崩溃原因

    通过崩溃日志,分析具体的崩溃原因。常见的崩溃原因可能包括:

    • 网络切换时未正确处理的异常
    • 播放器资源未正确释放
    • 缓存或内存不足
    • 播放器状态不一致

    3. 处理网络变化

    确保在网络变化时正确处理播放器的状态,可以使用ConnectivityManager监听网络变化,并在网络变化时采取适当的措施:

    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkRequest.Builder builder = new NetworkRequest.Builder();
    
    connectivityManager.registerNetworkCallback(
        builder.build(),
        new ConnectivityManager.NetworkCallback() {
            @Override
            public void onAvailable(Network network) {
                // 网络可用时的处理
                handleNetworkChange();
            }
    
            @Override
            public void onLost(Network network) {
                // 网络丢失时的处理
                handleNetworkChange();
            }
    
            @Override
            public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
                // 网络能力变化时的处理
                handleNetworkChange();
            }
        }
    );
    
    private void handleNetworkChange() {
        // 处理网络变化,例如重新初始化播放器或调整缓存
    }

    4. 确保播放器资源正确管理

    在网络变化或崩溃时,确保播放器资源正确释放,以避免内存泄漏和资源竞争问题:

    private void releasePlayer() {
        if (mediaPlayer != null) {
            mediaPlayer.reset();
            mediaPlayer.release();
            mediaPlayer = null;
        }
    }

    5. 错误处理和重试机制

    为播放器添加错误处理和重试机制,以便在网络变化时能够自动恢复:

    mediaPlayer.setOnErrorListener(new IMediaPlayer.OnErrorListener() {
        @Override
        public boolean onError(IMediaPlayer mp, int what, int extra) {
            // 在这里处理错误,例如重新连接到流媒体
            Log.e("PlayerError", "Error: " + what + ", Extra: " + extra);
            handlePlayerError();
            return true;
        }
    });
    
    private void handlePlayerError() {
        // 尝试重新初始化和播放
        releasePlayer();
        initializePlayer();
    }

    6. 测试和优化

    在多种网络条件下进行全面测试,确保在5G和4G切换时播放器的稳定性。具体测试步骤包括:

    • 模拟网络切换(例如使用开发者工具或网络调试工具)
    • 检查播放器在网络切换前后的状态
    • 验证播放器的重连和恢复机制

    7. 使用更健壮的播放器库

    如果问题无法通过上述方法解决,可以考虑使用更健壮的播放器库,如ExoPlayer,它提供了更丰富的功能和更稳定的网络处理机制。

    // 使用ExoPlayer的示例代码
    SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
    MediaItem mediaItem = MediaItem.fromUri("your_media_url");
    player.setMediaItem(mediaItem);
    player.prepare();
    player.play();

    通过以上步骤,可以有效地处理网络切换导致的播放器崩溃问题,并提高应用的稳定性和用户体验。


    在Android应用中,如果播放器(如ijkplayer)崩溃了,通常会导致整个应用进程崩溃。不过,可以采取一些措施来捕获并处理播放器的崩溃,以避免整个应用退出。这需要在Java层和Native层都进行一些处理。

    1. 捕获Java层异常

    首先,可以捕获Java层的未捕获异常,并尝试优雅地处理它们。可以在Application类中设置一个全局的未捕获异常处理器:

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
                @Override
                public void uncaughtException(Thread thread, Throwable throwable) {
                    // 在这里处理异常,例如记录日志或重启播放器
                    Log.e("UncaughtException", "Uncaught exception in thread " + thread.getName(), throwable);
                    handleUncaughtException(thread, throwable);
                }
            });
        }
    
        private void handleUncaughtException(Thread thread, Throwable throwable) {
            // 处理异常逻辑,例如重启播放器或显示友好的错误消息
        }
    }

    2. 捕获Native层异常

    ijkplayer 主要使用Native层(C/C++)进行媒体处理,因此在一些情况下需要捕捉Native层的崩溃。可以使用CrashlyticsBugly等工具来捕捉Native层的崩溃。

    3. 使用try-catch

    在播放器的初始化和播放过程中使用try-catch块捕获异常:

    try {
        IjkMediaPlayer mediaPlayer = new IjkMediaPlayer();
        mediaPlayer.setDataSource("your_media_url");
        mediaPlayer.prepareAsync();
        mediaPlayer.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(IMediaPlayer mp) {
                mediaPlayer.start();
            }
        });
    } catch (Exception e) {
        Log.e("PlayerError", "Error initializing player", e);
        // 处理异常,例如重试或显示错误信息
    }

    4. 使用ANR-WatchDog

    ANR-WatchDog是一个开源库,可以帮助检测和处理ANR(应用无响应)问题。虽然它主要用于检测主线程阻塞,但也可以用于检测某些崩溃情况。

    new ANRWatchDog().setANRListener(new ANRWatchDog.ANRListener() {
        @Override
        public void onAppNotResponding(ANRError error) {
            // 在这里处理ANR,例如记录日志或重启应用
            Log.e("ANR-WatchDog", "ANR detected", error);
        }
    }).start();

    5. 处理播放器重启

    当检测到播放器崩溃时,可以尝试重启播放器以保持应用继续运行:

    private void restartPlayer() {
        try {
            if (mediaPlayer != null) {
                mediaPlayer.reset();
                mediaPlayer.release();
            }
            mediaPlayer = new IjkMediaPlayer();
            mediaPlayer.setDataSource("your_media_url");
            mediaPlayer.prepareAsync();
            mediaPlayer.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(IMediaPlayer mp) {
                    mediaPlayer.start();
                }
            });
        } catch (Exception e) {
            Log.e("PlayerError", "Error restarting player", e);
            // 处理重启失败的情况
        }
    }

    6. 使用更健壮的播放器库

    如果ijkplayer在处理网络切换和崩溃方面存在问题,可以考虑使用更健壮的播放器库,如ExoPlayer,它提供了更好的错误处理和恢复机制。

    SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
    MediaItem mediaItem = MediaItem.fromUri("your_media_url");
    player.setMediaItem(mediaItem);
    player.prepare();
    player.play();

    通过以上步骤,可以在一定程度上捕获和处理播放器崩溃,避免整个应用退出。


  • 前向-前向(FF)算法:一种全新的深度学习方法

    引言

    在NeurIPS 2022大会上,Geoffrey Hinton提出了一种名为前向-前向(Forward-Forward,简称FF)算法的新型神经网络学习方法[1]。这种算法已经在一些小问题上展示了其潜力,并引起了广泛关注。本文将详细介绍FF算法的机制、优势及其在深度学习中的应用。

    FF算法的机制

    FF算法的核心思想是用两个前向传递来替代反向传播中的前向和后向传递[3]。具体来说,第一个前向传递涉及正样本(即真实数据),而第二个前向传递涉及负样本,这些负样本可以由网络本身生成[3]。每一层都有其独立的目标函数,目标是对正样本具有高好度(goodness)而对负样本具有低好度[3]

    好度的定义

    好度可以通过多种方式来衡量,例如层中的平方活动之和或负的平方活动之和[3]。这种多样性的衡量标准为算法提供了灵活性,使其能够适应不同的应用场景。

    时间上的分离

    一个有趣的特点是,如果正负传递可以在时间上分离,那么负传递可以离线进行[3]。这使得正向传递中的学习过程更加简化,并允许视频数据在不存储活动或传播导数的情况下通过网络进行流水线处理[3]

    FF算法的优势

    实时学习

    FF算法可以在不打断输入流处理的情况下,实时学习流数据的多层次表示[2]。这对于处理动态和连续数据非常有利,例如视频流或实时传感器数据。

    易于实现

    与强化学习相比,FF算法在扩展性上表现更好,并且比反向传播更容易在大脑皮层中实现[2]。这使得FF算法在神经科学和脑机接口等领域具有潜在的应用价值。

    结论

    总的来说,Geoffrey Hinton在NeurIPS 2022上提出的前向-前向算法为深度神经网络的训练提供了一种新的视角。其无需传播导数或记忆神经活动的特点,使得它在实时数据处理和扩展性方面具有显著优势。随着进一步的研究和优化,FF算法有望在未来的深度学习中发挥重要作用。

    参考文献

    1. Geoffrey Hinton proposed New Forward-Forward (FF) Algorithm
    2. NeurIPS Invited Talk The Forward-Forward Algorithm for Training Deep Neural Networks
    3. [2212.13345] The Forward-Forward Algorithm: Some Preliminary Investigations

    前向-前向(FF)算法的重新实现

    简介

    在GitHub上,loeweX的仓库提供了Geoffrey Hinton前向-前向(Forward-Forward,简称FF)算法的Python/PyTorch重新实现。这一实现涵盖了论文中第3.3节“FF的一个简单监督示例”中描述的实验,并实现了与官方Matlab实现大致相同的性能。

    FF算法概述

    FF算法是一种更符合生物学原理的深度神经网络训练方法。与传统的反向传播不同,FF算法不在层之间共享梯度,而是基于局部损失训练每一层。具体来说,网络进行两个前向传递:

    1. 正样本前向传递:这些样本代表“真实”数据,网络被训练以最大化每一层的“好度”(goodness)。
    2. 负样本前向传递:这些样本是对真实数据分布的扰动,网络被训练以最小化每一层的好度。

    好度可以通过多种方式评估,如计算层的平方活动之和。

    实验设置

    设置环境

    要运行该代码,您需要按照以下步骤设置环境:

    1. 安装Conda:确保您的系统上安装了Conda。
    2. 调整脚本:根据需要调整setup_conda_env.sh脚本(例如,设置正确的CUDA版本)。
    3. 运行脚本:执行以下命令来设置环境:
    bash setup_conda_env.sh

    运行实验

    设置好环境后,您可以运行训练和评估:

    source activate FF
    python -m main

    结果对比

    以下是不同实现的FF算法的测试误差对比:

    实现测试误差 (%)
    论文1.36
    官方Matlab实现1.47
    本仓库1.45

    总结

    FF算法通过引入局部损失和双前向传递,为深度神经网络的训练提供了一种新的方法。该仓库提供的实现不仅验证了FF算法的有效性,还展示了其在实际应用中的潜力。

    资源和许可

    本仓库代码基于MIT许可协议发布,详情请参见LICENSE文件。


    了解更多:

    1. Geoffrey Hinton提出的新前向-前向算法
    2. NeurIPS 2022大会邀请报告:前向-前向算法
    3. [2212.13345] 前向-前向算法:初步研究

  • 深入研究大型语言模型中的专家混合机制

    引言

    随着大型语言模型(LLMs)的出现,自然语言处理领域发生了革命性的变化。研究人员通过增加模型规模和训练数据量,不断推升这些模型的能力。然而,这也带来了训练成本和复杂性的急剧增加,迫切需要新的解决方案来更好地平衡预训练效率和模型性能。专家混合(Mixture-of-Experts, MoE)架构通过动态路由输入到一部分专家,从而在不牺牲计算效率的情况下,实现模型的大规模扩展。

    Mixture-of-Experts 概述

    MoE模型通过用N个并行的前馈网络(FFNs)替换原有的FFNs,并结合一个路由器来增强Transformer。这些并行的FFNs被称为专家,每个专家通过路由器的评分分布来接收输入。公式如下:

    [ \mathbf{y} = \sum_{n \in N} g_{n}(\mathbf{x}; \mathbf{G}, k) E_{n}(\mathbf{x}) ]

    当Top-k小于N时,仅有部分专家参与计算,这被称为稀疏专家混合(SMoE)。

    方法概述

    本文选取了Mixtral 8×7B. DeepSeekMoE和Grok-1三个模型进行分析,并附加了标准的Transformer模型Mistral 7B作为对比。研究分为静态参数分析和动态行为分析两部分。

    静态参数分析

    专家权重矩阵

    在矩阵级别,我们计算了所有专家在每一层的投影矩阵Wup、Wgate和Wdown之间的相似性,并用PCA将这些矩阵扁平化为二维空间。结果显示,不同模型的矩阵相似性模式存在显著差异。

    门嵌入

    门嵌入的相似性分析显示,Mixtral和DeepSeek的门嵌入与专家选择的权重矩阵Wgate之间存在较强的相关性,这表明门嵌入和Wgate可能学习了相似的知识来执行选择操作。

    动态行为分析

    专家输出

    通过输入短序列和长序列,我们测量了专家输出特征向量之间的相似性。结果显示,被选择的专家输出更相似,尤其是在Mixtral模型中。

    专家输出的L2范数和门评分

    在Mixtral模型中,我们发现被选择的专家通常输出范数最大,这表明范数可能是门决策的关键因素之一。这一发现与CompeteSMoE的设计一致,该设计基于输出范数选择专家。

    讨论

    基于我们的分析,我们提出了一些关于MoE模型的建议:

    • 神经元级别的专家:门嵌入决定了专家选择,而Wgate负责选择激活的神经元,两者之间的相似性表明神经元可能是更细粒度的专家。
    • 模型架构:可以考虑在深层增加专家数量,而在最后一层减少专家数量。此外,基于输出范数作为路由机制是合理的。
    • 相关性测量:权重矩阵之间的相似性测量在某种程度上等同于输出特征向量的相似性测量。

    相关工作

    现有的大部分工作从路由器的角度分析MoE,通过观察专家选择来研究其行为。近年来的研究发现标准路由器并未在领域级别表现出明显的专业化,主要基于token ID进行路由。

    结论

    本文首次尝试通过研究参数和输出来揭示MoE模型的内部工作机制。我们总结了实证观察,并提出了一些实用建议。虽然目前还无法全面回答MoE是否学习了异质的专家,但我们的一些实验表明,特定的架构设计和训练框架可能更有利于专家的专业化。

    限制

    我们的分析主要基于观察,缺乏进一步验证的干预措施。

    GitHub – kamanphoebe/Look-into-MoEs: A Closer Look into Mixture-of-Experts in Large Language Models

    这个GitHub仓库包含了论文《A Closer Look into Mixture-of-Experts in Large Language Models》的代码。以下是仓库的主要内容和使用指南:

    概述

    我们首次尝试理解基于MoE的大型语言模型的内部工作机制。具体来说,我们全面研究了三个基于MoE的模型(Mixtral 8x7B, DeepSeekMoE, Grok-1)的参数和行为特征,揭示了一些有趣的观察结果,包括:

    • 神经元像细粒度专家一样行为:门嵌入决定了专家选择,而专家的投影矩阵则负责选择激活的神经元。它们的相似性值显示出关联性,这表明专家神经元可能是细粒度的专家。
    • MoE的路由器通常选择输出范数较大的专家:以Mixtral为例,我们发现输出特征向量范数最大的专家最有可能被门赋予最高分数。
    • 专家多样性随着层数增加而增加,但最后一层是一个例外:在多个实验中,我们观察到专家之间的相似性在深层中通常较低,而在最后一层相似性增加。

    基于这些观察结果,我们还为MoE实践者提供了一些建议,如路由器设计和专家分配。

    使用指南

    1. 下载模型检查点
      默认情况下,我们的代码从ckpt目录加载预下载的模型。你也可以修改代码直接从HuggingFace下载。我们使用的模型下载链接如下:
    • Mixtral 8x7B Base
    • Mixtral 8x7B Instruct
    • Mistral
    • DeepSeekMoE
    • Grok-1
    1. 创建conda环境
       git clone https://github.com/kamanphoebe/Look-into-MoEs.git
       cd Look-into-MoEs
       conda create -n analyze --file env.txt

    创建conda环境后,需要将其选为Jupyter内核。

    1. 运行实验
      两个Jupyter notebooks(static_analysis.ipynb和dynamic_analysis.ipynb)分别包含了关于静态参数和动态行为的实验代码。你可以简单地运行每个实验对应的代码块,这些代码块的标题与论文中的实验名相同。

    引用

    如果你觉得我们的工作有用,请引用我们的论文:

    @misc{lo2024closerlookmixtureofexpertslarge,
          title={A Closer Look into Mixture-of-Experts in Large Language Models},
          author={Ka Man Lo and Zeyu Huang and Zihan Qiu and Zili Wang and Jie Fu},
          year={2024},
          eprint={2406.18219},
          archivePrefix={arXiv},
          primaryClass={cs.CL},
          url={https://arxiv.org/abs/2406.18219},
    }

    致谢

    我们的模型配置和建模文件借用了HuggingFace仓库中的相应文件,感谢这些作者的出色工作。

    通过这个GitHub仓库,研究者可以复现论文中的实验,并进一步探索MoE模型的内部机制。

  • 动态去偏:解释引导的人类监督机器学习系统决策

    引言

    在当前社会中,机器学习(ML)系统已经广泛应用于招聘、金融和医疗等关键领域。然而,这些系统在做出决策时,可能会基于受保护属性(如性别、种族等)出现歧视性结果。这引起了人们对其公正性的广泛关注。虽然在开发阶段确保公平性非常重要,但部署后的ML系统仍可能在实际操作中表现出歧视性。为了填补这一空白,本文提出了一种新颖的框架,用于对部署的ML系统进行实时监控和纠正歧视行为。该框架利用反事实解释技术,持续监控ML系统的预测,并在检测到歧视性结果时进行标记。然后,将与原始预测和反事实替代相关的事后解释呈现给人类审查员,以便进行实时干预。这种人类在环(human-in-the-loop)的方法使审查员能够接受或推翻ML系统的决定,从而在动态环境下实现公平和负责任的ML操作。

    什么是公平性?

    公平性的定义

    在ML系统的决策中,公平性是指在没有基于个人或群体的固有或获得属性(如种族、性别等)出现偏见或偏好。公平性问题的解决首先需要对其进行量化。简而言之,假设 ( X. 代表一个个体的属性集合, ( Y ) 代表真实标签集合, ( S ) 代表敏感属性, ( Z ) 代表其他属性,公式如下:

    [ F(X, Y, h, S, Z. = f(h(X, S, Z)) \approx h(X, S’, Z) ]

    其中, ( S’ ) 是去除了任何潜在偏见的敏感属性子集。此公式还可以写为概率分布:

    [ F(h) = P[Y = y|X, A = a] = P[Y = y|X, A = a’] ]

    这意味着,给定个体属性 ( X. 的情况下,不同受保护属性值 ( a ) 和 ( a’ ) 对预测结果 ( Y ) 的影响是相同的,即模型的预测结果应独立于受保护属性。

    个体公平性

    个体公平性确保了相似的个体在决策中获得相似的结果,而不考虑其受保护属性。这种公平性基于这样一种理念:个体应被平等对待,不论其是否属于某一特定群体。设 ( X. 表示属性集合, ( Q ) 表示受保护属性集合,公式如下:

    [ X = D(q_1) \times D(q_2) \times \cdots \times D(q_n) ]

    其中, ( D(q_i) ) 表示属性 ( q_i ) 的取值域, ( x_i ) 表示输入实例中的第 ( i ) 个属性值。

    公平性测试

    公平性测试是一种软件测试分支,旨在揭露ML系统中存在的不公平性漏洞。公平性漏洞指的是ML系统在实际操作中违背预期公平性条件的任何缺陷。公平性测试可以分为离线测试和在线测试。离线测试在模型开发阶段进行,只评估模型在训练数据上的表现,而不考虑其在实际应用中的表现。而在线测试则在模型部署后,持续监控和评估其在实际操作中的公平性。

    反事实解释

    反事实解释是一种用于识别需要做出的最小更改,以改变给定预测的技术。通过提供类似于待解释观察结果但产生不同结果的特定数据实例,反事实解释可以帮助理解某些因素对结果的直接影响,从而识别模型中的潜在问题并做出明智的决策。公式如下:

    [ c = \arg \min_{c} \text{loss}(f(c), y) + |x – c| ]

    其中,第一项表示模型预测的损失或错误,第二项表示原始观察结果与反事实数据点之间的差异。这个公式确保反事实数据点与初始观察结果尽可能相似,但结果不同。

    人类监督在ML系统中的嵌入

    在使用ML系统自动化决策过程中,一个重要的担忧是这些系统可能会对某些群体产生偏见。引入人类输入和监督(即人类在环)可以有效减少系统中的偏见,因为人类带来了不同的视角、知识和经验,可以在算法没有考虑到的情况下做出公正的决策。公式如下:

    [ F(H. = H(f(x_1), f(x_2), \ldots, f(x_n)) ]

    表示ML系统输出的最终决策可以由人类审查员进行验证和确认。

    方法论

    本文提出了一种概念模型,旨在在ML系统运行期间实时监控和纠正偏见。该模型包括以下组件:

    1. 反事实生成:输入实例后,通过预训练的ML模型生成反事实实例,这些实例与原始实例在受保护属性上有所不同,但其他特征相同。
    2. 偏见检测:自动偏见检测组件分析反事实实例,并判断是否存在歧视性结果。如果存在反事实实例且结果不同,则标记为歧视。
    3. 人类审查:将标记为歧视的实例提交给人类审查员进行最终评估,以确保系统决策的公正性。

    实际应用案例

    案例1:医疗系统

    在医疗系统中,ML模型可以用于预测患者的再入院风险。然而,如果模型对某些人口群体(如某种种族或性别)存在偏见,这些偏见可以通过反事实解释和自动偏见检测组件来检测和纠正。例如,如果反事实解释表明某患者的再入院风险会因其属于某特权群体而降低,则可以标记该预测为歧视性并进行人类审查。

    案例2:教育系统

    在教育领域,ML模型可以用于评估学生申请和奖学金分配。然而,如果模型对某些群体(如少数民族或性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测。例如,反事实解释可以揭示某少数族裔申请者如果不是少数族裔,可能会获得更高的录取几率。

    案例3:贷款审批系统

    在贷款审批系统中,ML模型用于评估申请者的信用评分和贷款批准。然而,如果模型对某些群体(如种族或性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某少数族裔申请者如果不是少数族裔,可能会更容易获得贷款批准。

    案例4:刑事司法系统

    在刑事司法系统中,ML模型用于预测被告的再犯风险。然而,如果模型对某些群体(如种族)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某黑人被告如果不是黑人,其再犯风险评分会更低。

    案例5:招聘系统

    在招聘系统中,ML模型用于筛选求职者。然而,如果模型对某些群体(如性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某女性求职者如果是男性,其录取概率会更高。

    结论

    本文提出了一种概念模型,用于通过人类审查和反事实解释在实时中跟踪和纠正ML系统中的个体歧视。我们的框架利用反事实解释的力量来定位ML系统中的歧视实例,并包含一个人类审查组件来纠正这些偏见。这种方法有助于确保这些系统做出的决策是公平且无偏的,从而防止弱势群体受到歧视性结果的不公正影响。

    参考文献

    1. Mamman, Hussaini Abubakar, et al. “Unbiasing on the Fly: Explanation-Guided Human Oversight of Machine Learning System Decisions.” 13th Computer Science On-line Conference, Lecture Notes on Networks and Systems, Springer, April 2024.
    2. Udeshi S. , et al. “AEQUITAS: A Fairness Testing Technique.” Udeshi et al. 2018.
    3. Monjezi R. , et al. “DICE: Discrimination Identification and Correction in Deep Neural Networks.” Monjezi et al. 2018.
    4. Galhotra S. , et al. “Themis: A Fairness Testing Tool.” Galhotra et al. 2017.
    5. Yang J. , et al. “BiasRV: A Tool for Detecting Gender Discrimination in Sentiment Analysis Systems.” Yang et al. 2019.

  • 规划作为推理的一种类型

    在人工智能领域,特别是强化学习(Reinforcement Learning)和规划(Planning)中,推理(Inference)是一个关键的概念。不同类型的推理方法,如边缘推理(Marginal Inference)、最大后验推理(Maximum-a-Posteriori Inference,MAP)和边缘最大后验推理(Marginal Maximum-a-Posteriori Inference,MMAP),在不同场景下有着不同的应用和效果。那么,当我们谈到“规划作为推理”时,这到底意味着什么呢?

    本文将通过变分推理(Variational Inference,VI)框架,展示不同类型的推理与规划的关系,并解释在不同的动态环境下,哪种推理方法最适合用于规划。

    1. 引言

    推理在概率图模型(Probabilistic Graphical Models)中有多种类型,例如边缘推理、最大后验推理和边缘最大后验推理。在本文中,我们将展示规划是一种独特的推理类型,并且在随机动态下,它与上述任何方法都不完全相同。进一步地,我们将展示如何根据规划的质量对这些方法进行排名。

    2. 背景

    2.1 马尔可夫决策过程(MDPs)

    有限时间的马尔可夫决策过程(MDP)可以表示为一个六元组 $({\cal X},{\cal A},p(x_{1}),{\cal P},{\cal R},T. $,其中 ${\cal X}$ 是状态空间,${\cal A}$ 是动作空间,$p(x_{1})$ 是初始状态分布,${\cal P}$ 是转移概率,${\cal R}$ 是奖励函数,$T$ 是时间跨度。

    2.2 变分推理

    变分推理通过最大化变分下界来近似后验分布。对于一个一般的因子图 $f({\bm{x}},{\bm{a}})$,变分推理问题可以表示为:

    $$
    \max_{q({\bm{x}},{\bm{a}})}\langle\log f({\bm{x}},{\bm{a}})\rangle_{q({\bm{x}},{\bm{a}})} + H^{\text{type}}_{q}({\bm{x}},{\bm{a}})
    $$

    其中 $q({\bm{x}},{\bm{a}})$ 是关于变量的任意变分分布,$H^{\text{type}}_{q}({\bm{x}},{\bm{a}})$ 是特定类型的熵。

    3. 方法

    3.1 标准MDPs的变分推理

    我们所关注的主要量是最佳指数效用,定义如下:

    $$
    F_{\lambda}^{\text{planning}} = \frac{1}{\lambda}\log\max_{\bm{\pi}}\mathbb{E}_{\bm{\pi}}\left[\exp(\lambda R({\bm{x}},{\bm{a}}))\right]
    $$

    其中,$\lambda$ 是风险参数。

    3.2 因子化MDPs的变分推理

    对于因子化MDPs,我们可以使用类比于循环置信传播(Loopy Belief Propagation,LBP)的值置信传播(Value Belief Propagation,VBP)算法来进行近似规划。

    4. 不同类型的推理及其在规划中的适用性

    4.1 排名不同类型的推理

    通过观察不同类型推理的熵项,我们可以看出,对于给定的变分后验 $q$,它们的质量排序如下:

    $$
    F_{\lambda}^{\text{marginal}^{\text{U}}} \leq F_{\lambda}^{\text{MAP}} \leq F_{\lambda}^{\text{MMAP}} \leq F_{\lambda}^{\textbf{planning}} \leq F_{\lambda}^{\text{marginal}}
    $$

    4.2 动态的随机性是关键

    在动态是确定性的情况下,MAP和MMAP推理作为规划是合适的。但在动态是随机的情况下,MMAP和MAP的缺点在于缺乏对环境的反应能力。

    5. 相关工作

    不同文献中对“规划作为推理”的定义不一致,本文通过变分推理框架统一了这些定义,并提供了新的视角。

    6. 实证验证

    我们在合成MDPs和国际规划竞赛任务中验证了这些结果,结果表明在高随机性环境中,VBP优于其他类型的推理。

    7. 讨论

    变分框架为分析和理解不同类型的推理如何近似规划提供了强大的工具,并且揭示了随机性在规划中的关键作用。

    参考文献

    • Jordan, M. I., Ghahramani, Z., Jaakkola, T. S., & Saul, L. K. (1999). An introduction to variational methods for graphical models. Machine Learning, 37(2), 183-233.
    • Liu, Q. , & Ihler, A. (2013). Variational algorithms for marginal MAP. The Journal of Machine Learning Research, 14(1), 3165-3200.
    • Sontag, D. , Globerson, A., & Jaakkola, T. (2011). Introduction to dual decomposition for inference. Optimization for Machine Learning, 1, 219-254.

    通过本文的研究,我们不仅能够更好地理解不同类型推理在规划中的表现,还能为设计新的近似算法提供理论支持。


    Q. 这篇论文试图解决什么问题?

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文探讨了在概率图模型中进行规划时所使用的不同类型的推理(inference),并试图解决其中的一些问题和不一致性。具体来说,论文的主要贡献和解决的问题包括:

    1. 规划推理的类型: 论文首先指出,在文献中,当研究者提到“规划作为推理”时,并没有一致性,不同的类型被使用,且它们在实际规划中的应用能力与特定的近似方法或额外约束进一步纠缠在一起。
    2. 变分框架的应用: 作者使用变分框架(variational framework)来展示所有常用的推理类型如何对应于变分问题中熵项的不同权重,并且指出规划对应于一组不同的权重。
    3. 规划推理的新视角: 论文提出了一种新的视角,将规划视为一种独特的推理类型,并探讨了在随机动态下,规划推理与现有的推理方法(如边缘推理、最大后验推理等)的不同之处。
    4. 近似规划算法的开发: 论文开发了一种类似于循环信念传播(loopy belief propagation, LBP)的算法,称为值信念传播(value belief propagation, VBP),用于在具有因子化状态的马尔可夫决策过程中进行近似规划,而不会因为状态空间的指数级增长而导致不可解。
    5. 实证验证: 论文通过在合成MDP(Markov Decision Processes)和国际规划竞赛(International Planning Competition)中的任务上进行实证验证,来支持他们的观点和方法。
    6. 规划推理的适用性分析: 论文还分析了不同推理类型在规划中的适用性,特别是在不同随机性水平的环境中,以及如何根据环境的随机性来选择合适的推理类型。

    总的来说,这篇论文试图提供一个更加清晰和一致的框架来理解和实践规划中的推理过程,并通过变分推断的方法来改进和优化规划算法。

    Q: 有哪些相关研究?

    A: 论文中提到了多个与“规划作为推理”相关的研究工作,以下是一些主要的相关研究:

    1. Toussaint 和 Storkey (2006): 引入了MDP因子图中的政策,并使用EM算法最大化其参数的似然度。这是一种精确方法,更准确地说是规划作为学习而非推理的一种类型。
    2. Levine (2018): 使用最大后验推理(MAP inference)进行规划,只考虑了乘法设置λ=1,并提出了一种结构化后验,使得q(xt+1|xt, at) = P(xt+1|xt, at)。
    3. Cui et al. (2015): 提出了ARollout方法,可以看作是对边际推理的单次前向传递LBP近似,适用于因子化MDP。
    4. Cui 和 Khardon (2016); Cui et al. (2019): 开发了符合SOGBOFA,通过在外循环中使用梯度下降优化动作,同时在内循环中使用ARollout进行边际推理,提供了一种强大的基线,并在2018年国际概率规划竞赛(IPPC)中排名第二。
    5. Attias (2003): 选择了MAP推理进行规划。
    6. Palmieri et al. (2022); Wu 和 Khardon (2022): 最近引入的两个框架,用于从消息传递的角度分析规划。前者分析了六种更新规则及其对计划的定性影响;后者关注于分离消息传播的方向和近似类型。
    7. Cheng et al. (2013); Chen et al. (2015): 使用严格的变分框架来处理基于图的MDPs,类似于因子化MDPs,但具有因子化的动作空间。
    8. Kumar et al. (2015); Bhattacharya 和 Kharoufeh (2017); Altman (2021); Bhat et al. (2023): 关于非平稳、有限视界MDPs的线性规划(LP)公式的研究。
    9. Koller 和 Parr (1999); Guestrin et al. (2003); Malek et al. (2014): 提供了处理因子化MDPs的LP公式,与本文的工作有更密切的联系。

    这些研究为理解规划和推理之间的关系提供了不同的视角和方法,同时也展示了在概率图模型中进行规划的不同技术和算法。论文通过与这些相关工作的比较,展示了其提出的变分推理框架的优势和潜在的应用。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个关键步骤来解决“规划作为推理”中的不一致性和问题:

    1. 变分推理框架:作者采用了变分推理(Variational Inference, VI)的视角,将不同的推理类型统一到一个框架下。这允许直接比较不同推理类型,并为“规划推理”任务开发近似推理算法。
    2. 定义规划推理:论文提出了规划推理(planning inference)的定义,并展示了如何将其形式化为变分优化问题。这涉及到定义一个特定的熵项,称为“规划熵”(Hplanning(q)),它与已有的推理类型(如边际推理、MAP推理等)所采用的熵项不同。
    3. 价值信念传播(VBP)算法:为了处理具有因子化状态的马尔可夫决策过程(Factored MDPs),作者开发了一种类似于循环信念传播(LBP)的算法,称为价值信念传播(VBP)。VBP允许在不牺牲可解性的情况下,对具有指数级状态空间的MDP进行近似规划推理。
    4. 变分线性规划(VI LP):作者提出了一种变分线性规划方法,用于在因子化MDPs中估计最优期望奖励。这种方法利用了变分推理的框架,通过松弛变量和约束来提供一个可解的优化问题。
    5. 确定性规划的变分公式:论文展示了如何利用变分推理来获得确定性规划(Determinization in Hindsight)的封闭形式解。这通常通过采样来计算,但作者展示了如何通过变分方法避免采样,从而得到一个精确的解决方案。
    6. 实证验证:作者在合成MDPs和国际规划竞赛(International Planning Competition)中的任务上进行了实证验证,展示了所提出的变分推理框架和VBP算法相对于其他推理方法的优势。
    7. 分析和比较:论文详细分析了不同推理类型在规划中的适用性,并根据环境的随机性水平对它们进行了排名,指出了在不同情况下哪种推理类型更为合适。

    通过这些步骤,论文不仅提出了一种新的视角来理解规划中的推理过程,还开发了新的算法和技术来改进规划的效率和准确性。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验来验证所提出方法的有效性:

    1. 合成MDPs(马尔可夫决策过程)实验
      • 生成了5,000个结构化的合成因子化MDP实例,这些实例具有随机动态、在最后一个时间步提供全有或全无的奖励,并控制了归一化熵。
      • 实验比较了不同推理方法在不同随机性水平下的性能,包括VBP、VI LP、MFVI-Bwd、ARollout、SOGBOFA-LC等。
    2. 国际概率规划竞赛(IPPC)任务实验
      • 在ICAPS 2011 IPPC的6个不同领域(Crossing traffic, Elevators, Game of life, Skill teaching, Sysadmin, Traffic)上评估了5种不同的推理方法(MFVI-Bwd, ARollout, SOGBOFA-LC, VI LP, VBP)。
      • 每个领域有10个实例,每个实例有40个时间步,并在轻度随机性的环境中进行评估。
      • 实验测量了不同方法在这些任务中的平均累积奖励,并与基线方法进行了比较。
    3. 反应性避免实验
      • 构建了一个多实体MDP,其中代理可以控制所需的反应性水平,但会因较低的反应性而受到惩罚。
      • 该实验旨在展示VBP如何保持最大反应性以实现奖励1,而SOGBOFA-LC由于其非反应性而只能获得较低的奖励。
    4. 确定性规划的变分公式实验(在附录E中描述):
      • 展示了如何使用变分推理来获得确定性规划的封闭形式解,这是一种通常通过采样计算的技术。

    这些实验的目的是展示所提出的变分推理框架和VBP算法在不同情况下相对于其他推理方法的优势,特别是在处理具有随机性和大规模状态空间的MDPs时。实验结果支持了论文中的观点,即VBP在高随机性环境中表现优于其他方法,并且在不同随机性水平下具有较好的一致性。

    Q: 有什么可以进一步探索的点?

    A: 论文提出了一个基于变分推理的规划框架,并对其进行了实证验证。尽管已经取得了一定的成果,但仍有一些潜在的研究方向可以进一步探索:

    1. 算法改进:虽然VBP(Value Belief Propagation)在某些情况下表现良好,但仍有可能通过改进消息传递算法、优化参数选择或开发新的变分推理技术来提高算法的效率和准确性。
    2. 理论分析:进一步研究变分规划推理的理论基础,包括其收敛性、收敛速度以及在不同类型的MDPs和不同随机性水平下的性能保证。
    3. 实际应用:将变分规划推理应用于更广泛的实际问题,例如机器人路径规划、自动驾驶、游戏AI等领域,以验证其在现实世界中的有效性。
    4. 多智能体系统:研究变分规划推理在多智能体系统中的应用,考虑如何在多个智能体之间协调和共享信息。
    5. 在线规划:探索变分规划推理在在线规划设置中的性能,即在不断变化的环境中实时进行规划和调整策略。
    6. 与深度学习的结合:研究如何将变分规划推理与深度学习模型结合起来,以利用深度学习在处理高维数据和复杂模式识别方面的优势。
    7. 泛化能力:研究变分规划推理的泛化能力,即在不同类型和规模的问题上的适用性和灵活性。
    8. 计算效率:优化变分规划推理的计算效率,特别是在大规模或复杂的问题上,以实现更快的推理速度。
    9. 鲁棒性研究:分析变分规划推理在面对模型不确定性或环境噪声时的鲁棒性,并探索提高鲁棒性的方法。
    10. 与其他规划方法的比较:与其他先进的规划方法进行比较,例如基于采样的方法、基于模型的方法等,以确定变分规划推理在不同情况下的优势和局限性。
    11. 软件工具和库的开发:开发易于使用的软件工具和库,使研究人员和实践者能够更容易地应用变分规划推理。
    12. 教育和普及:通过教育材料和教程,提高对变分规划推理概念和方法的理解和普及。

    这些方向不仅可以推动变分规划推理技术的发展,还可能为解决更广泛的人工智能问题提供新的视角和工具。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以总结如下:

    1. 问题定义:论文首先定义了在概率图模型中进行规划时所面临的不同类型的推理问题,包括边际推理、最大后验推理(MAP)和边际最大后验推理(MMAP),并指出了这些方法在规划中的不一致性。
    2. 变分推理框架:作者采用变分推理(Variational Inference, VI)框架来统一和比较不同的推理方法。通过变分框架,展示了所有常用的推理类型都可以视为变分问题中熵项的不同权重。
    3. 规划推理的变分公式:论文提出了规划推理(planning inference)的变分公式,定义了一个新的熵项Hplanning(q),并将规划推理视为一种独特的推理类型。
    4. 价值信念传播(VBP)算法:为了解决具有因子化状态的马尔可夫决策过程(Factored MDPs)中的近似规划问题,作者开发了VBP算法,这是一种类似于循环信念传播(LBP)的算法。
    5. 变分线性规划(VI LP):论文还提出了一种变分线性规划方法,用于在因子化MDPs中估计最优期望奖励,提供了一种可解的优化问题。
    6. 确定性规划的变分公式:作者展示了如何利用变分推理来获得确定性规划(Determinization in Hindsight)的封闭形式解,这是一种通常通过采样计算的技术。
    7. 实证验证:论文通过在合成MDPs和国际规划竞赛(International Planning Competition)中的任务上进行实证验证,展示了所提出的变分推理框架和VBP算法相对于其他推理方法的优势。
    8. 不同推理类型的适用性分析:论文分析了不同推理类型在规划中的适用性,并根据环境的随机性水平对它们进行了排名,指出了在不同情况下哪种推理类型更为合适。
    9. 相关工作:论文讨论了与“规划作为推理”相关的其他研究工作,并将其与所提出的变分推理框架进行了比较。
    10. 结论与未来工作:最后,论文总结了研究成果,并提出了一些可能的研究方向,如算法改进、理论分析、实际应用扩展等。

    整体而言,这篇论文提出了一个基于变分推理的规划框架,并通过理论分析和实证验证展示了其有效性,为理解和改进概率图模型中的规划推理提供了新的视角和工具。

  • 实时去偏:解释导向的人类监督机器学习系统决策

    引言

    机器学习(Machine Learning, ML)系统现在广泛应用于人类生活的各个关键领域,如招聘、金融和医疗等。这些系统可以降低人为错误,提高效率和可扩展性,并增强决策过程的准确性。然而,随着ML系统在与人类密切相关的领域中的使用日益增多,关于其决策公平性的担忧也在增加。例如,2018年,路透社发现亚马逊的简历筛选算法存在年龄和性别偏见,该算法对包含“女性”一词的简历和显示出较老申请者的毕业年份的简历进行了降级处理。尽管亚马逊迅速废除了该有偏见的算法,但很可能在其意识到不公平影响之前,该算法已被部署了数月。为了减少此类伦理问题,在ML系统的开发和部署前后持续进行公平性测试是至关重要的。

    目前,软件工程社区已经做出了各种努力,借鉴传统软件测试技术,首先搜索并减轻ML中的歧视。例如,Udeshi等人介绍了AEQUITAS,这是一种探索ML模型输入空间中的歧视性实例的公平性测试技术,然后通过扰动这些实例的非保护属性来生成更多的歧视性样本。虽然当前的方法已被证明是有效的,但它们主要集中在开发阶段检测和解决歧视问题。在ML系统部署后的操作期间进行公平性测试的研究相对较少。为了解决这一差距,本研究提出了一种框架,用于持续监控已部署的ML系统,以评估其公平性。

    背景

    在讨论公平性、公平性测试、反事实解释和人类审查之前,我们需要先了解一些基本术语。

    公平性

    在ML系统中的决策公平性是指不存在基于个人或群体固有或获得属性的偏见或偏好。制定公平性是解决公平性问题和开发公平ML模型的第一步。在简单的术语中,假设ML预测模型$h$在决策时使用了包含敏感属性$S$和其他属性$Z$的数据集进行训练。公平性可表示为:

    $$ F(X, Y, h, S, Z. = h(X, S, Z) ≈ h(X, S’, Z) $$

    这意味着模型$h$在去除任何潜在偏见后,对同一组个体应做出相同的决策。

    个体公平性

    个体公平性确保相似的个体无论其保护属性如何,都应得到相似的结果。假设$X$代表一组属性(或特征),$Q$代表一组受保护的属性。个体公平性定义为:

    $$ f(x_i) = f(x_{i’}) $$

    其中,$f$为ML分类器,$x_i$和$x_{i’}$代表具有相似非保护属性但可能具有不同保护属性的两个个体。

    公平性测试

    公平性测试是软件测试的一个分支,专注于暴露ML系统中的公平性漏洞。公平性测试可以分为离线和在线测试。离线公平性测试是在模型开发期间进行的,仅评估模型在给定训练数据上的公平性。相反,在线公平性测试是在ML系统部署后,使用实际输入数据持续监控和评估其公平性。

    反事实解释

    反事实解释是一种识别改变给定预测所需的最小变化的技术。通过提供与观察结果相似但产生不同结果的特定数据实例,反事实解释帮助理解某些因素对结果的直接影响。反事实解释的公式如下:

    $$ c = \arg\min \text{loss}(f(c), y) + |x – c| $$

    其中,$x$为输入特征,$f$为模型,$y$为模型的输出,$c$为导致不同输出的反事实实例。

    将人类审查嵌入ML系统

    在ML系统的自动决策过程中,嵌入人类审查和监督(即人类在环)可以有效减少系统中的偏见。人类审查的主要目的是对ML模型的输出进行最终检查,以确保决策公平、无偏和准确。人类审查通常作为回顾性审查进行,即在ML系统运行后对其决策进行审查。

    相关工作

    文献中提出了多种方法来识别ML系统中的个体歧视。例如,Galhotra等人介绍了Themis,通过随机抽样输入空间来创建测试案例,并通过观察系统在测试中的行为来评估歧视性事件的频率。Udeshi等人提出了AEQUITAS,一种双阶段搜索的公平性测试技术,探索输入空间中的歧视性实例,然后通过扰动这些实例的非保护属性来生成更多的歧视性样本。

    与现有方法相比,我们的工作聚焦于在线公平性测试,评估ML系统在运行期间的公平性。

    方法

    本节介绍了我们提出的概念模型。该模型旨在实时监控和缓解ML系统中的偏见,如贷款申请系统。过程如下图所示:

    反事实生成

    反事实生成过程包括输入一个输入实例$x$,并使用预训练的ML模型$f$生成反事实实例$c_1, c_2, …, c_n$,这些实例具有不同的保护属性组合。

    偏见检测

    自动偏见检测组件分析反事实生成过程的输出,以确定是否存在对原始实例的歧视。如果存在反事实示例,则会标记为需要人类审查;否则,ML模型的决策保持不变。

    人类审查

    人类审查在评估ML系统的公平性方面起着关键作用。自动偏见检测组件标记的歧视性实例和相应的反事实示例会传递给人类审查组件进行最终评估。人类审查提供了对系统行为的全面理解,允许在运行时识别和纠正不公平的偏见。

    使用案例示例

    示例1:医疗系统

    在医疗系统中,使用ML系统评估患者并预测再入院的可能性。如果模型对某些人口群体做出了有偏见的决定,可以通过反事实解释和自动偏见检测组件检测到这一偏见。

    示例2:教育系统

    在教育系统中,模型可以用于监控和解决招生委员会决策过程中的偏见。例如,反事实生成和自动偏见检测组件可以识别少数群体申请者在招生过程中是否被不公平地引导。

    示例3:贷款/信用评分系统

    在贷款/信用评分系统中,模型可以识别对黑人和少数群体申请者的偏见。利用反事实解释和自动偏见检测组件,这些偏见可以被标记并进行人类审查。

    示例4:刑事司法系统

    在刑事司法系统中,模型可以用于预测被告再犯的可能性。反事实生成和自动偏见检测组件可以揭示模型对黑人被告的歧视性决策。

    示例5:招聘系统

    在招聘系统中,模型可以识别对女性候选人的偏见。通过反事实生成和自动偏见检测组件,可以揭示系统的有偏见决策。

    结论

    本文提出了一个概念模型,用于通过人类审查和反事实解释在实时中跟踪和纠正个体歧视。我们的框架利用反事实解释的力量来识别ML系统中的歧视实例,并包括一个人类审查组件来减轻这些偏见。未来,我们计划构建并部署该系统,并进行公平性测试以确保其在实际操作中公正和公平。

    参考文献

    1. Mamman, Hussaini et al., “Unbiasing on the Fly: Explanation-Guided Human Oversight of Machine Learning System Decisions”, 13th Computer Science On-line Conference, Lecture Notes on Networks and Systems, Springer, April 2024.
    2. Udeshi, S. , et al., “AEQUITAS: A Fairness Testing Technique for Machine Learning Systems”, 2018.
    3. Galhotra, S. , et al., “Themis: Automatically Testing Software for Discrimination”, 2017.
    4. Kusner, M. , et al., “Counterfactual Fairness”, 2017.
    5. Yang, S. , et al., “BiasRV: Detection of Gender Discrimination in Sentiment Analysis Systems”, 2020.
  • AI 通过人类反馈强化学习实现对齐?矛盾与局限

    引言

    我们选择“有用、诚实、无害”作为标准,因为它们简单易记,并且似乎涵盖了我们希望对齐的 AI 系统的大部分内容。

    人类反馈强化学习(RLHF)展示了一种确保人工智能(AI)监督和安全的方法,通过价值对齐实现。这种方法最近在提高大型语言模型(LLM)的性能方面发挥了重要作用,使用 RLHF 进行微调,以生成更“自然”的文本,并在聊天机器人设置中生成合理的对话响应。AI 公司和研究人员常常声称,RLHF 微调确保了他们市场和销售的 LLM 符合(或“对齐”)人类价值观,特别是通过以“有用”、“无害”和“诚实”(3H. 方式回应。这种“价值对齐”通常通过一个过程实现,在这个过程中,众包工人根据 3H 标准对 LLM 输出进行排序,例如评价一个回答的有用性。

    本文对 RLHF 是否适合作为 AI 安全和伦理 AI 方法进行了详细分析和批评。我们结合技术、哲学和系统安全的视角,揭示了 LLM、RLHF、对齐目标以及构建和提供通用 AI 系统之间复杂互动中的根本局限和矛盾。

    背景

    人类反馈强化学习

    RLHF 作为一种机器学习技术,利用人类偏好或注释来优化 LLM。RLHF 被认为是 OpenAI 的 ChatGPT、Anthropic 的 Claude 和 Meta 的 Llama 等成功的背后技术。该技术通常在已经预训练的 LLM 上作为最后的微调步骤进行。通过众包工人对模型输出进行排序,人类偏好数据集被创建,随后训练奖励模型,用于优化 LLM 的输出策略。

    AI 反馈强化学习

    尽管 RLHF 在限制或阻止生成不良输出方面取得了一定成效,但其仍有局限性。高质量的人类标签是实现 RLHF 最大效益所必需的,这使得扩展过程非常困难。因此,AI 反馈强化学习(RLAIF)被提出以减轻这种瓶颈而不影响性能。RLAIF 涉及使用预训练的大型语言模型提供输入,包括任务描述和示例,从而输出偏好数据。

    技术批评

    RLHF 的技术批评主要集中在收集人类反馈、训练奖励模型和训练策略方面。许多挑战被认为是可以在 RLHF 框架内解决的,而另一些则需要替代方法。

    灵活性的诅咒

    LLM 现被构建为通用代理,这带来了软件架构的复杂性和不可解性,从而阻碍了系统所需功能的适当表达、工程和验证。这种现象在系统安全领域得到了充分理解,被称为灵活性的诅咒。计算系统的更大能力和灵活性导致了许多严重事故,因为软件的复杂性使得“没有人能理解软件应该做什么或者不应该做什么”。

    RLxF 的局限性

    无害性

    AI 不应直接或通过潜台词或偏见表现出冒犯或歧视。然而,所谓的“最不有害”选择仍然可能包含有害元素,这样的选择往往只是相对最少的伤害,而不是彻底避免伤害。

    诚实性

    AI 应该提供准确的信息,并在表达不确定性时不误导用户。然而,LLM 缺乏内省能力,无法真正表达对其响应的信心水平,这使得诚实性成为一个复杂的问题。

    有用性

    AI 应该尽可能简洁和高效地完成任务或回答问题。然而,过度追求有用性可能会导致在某些情况下支持有害请求,从而危及无害性。

    对齐

    对齐是确保 LLM 行为符合人类价值观和偏好的过程。然而,由于不存在单一的普遍价值集,不同文化和社会群体的价值观可能存在显著差异,这使得对齐成为一个复杂且有争议的问题。

    RLxF 的内部张力和伦理问题

    增加的有用性可能导致欺骗

    RLxF 可能会增加 LLM 输出的类人性,从而误导用户,使其误以为自己在与另一个人类代理互动。这种误导可能会导致用户对 LLM 输出的错误信任或不当使用。

    谄媚:有用性和无害性的错位

    LLM 倾向于迎合用户的观点,这种行为被称为谄媚。这种行为部分源于 RLxF,因为假设用户是正确的可以提高表面上的有用性和无害性。然而,这可能导致牺牲真相(或“诚实”)以换取表面的有用性和无害性。

    RLxF 可能导致价值强加和文化同质化

    RLxF 通过使 LLM 输出更加可预测、安全和可控,可能会在无意中加强某些文化和社会群体的价值观,从而限制了其他群体的自主性。这种同质化可能会导致语言使用的多样性减少,不适当地影响不同社区的表达实践。

    RLxF 增加了伦理不透明性

    RLxF 导致了相当程度的“伦理不透明性”。偏好数据的标准往往模糊且未定义,用户和公众通常不知道谁在生成这些偏好数据。这种不透明性使得很难评估 RLxF 对商业 LLM 的具体影响。

    重启安全与对齐:整合 AI 伦理与系统安全

    工程实现价值对齐:不可能的任务

    RLxF 作为引入伦理保障的策略,尽管有其吸引力,但在实现 AI 价值对齐的雄心勃勃的项目中不可避免地失败。人类价值、需求和目标的多样性,以及人类所处情境的多样性,使得没有一种对齐技术可以成为一刀切的解决方案。

    走向安全和伦理 AI 设计的整合方法

    如果我们希望部署安全、伦理的 AI 系统,包括 LLM,那么 RLxF 所代表的狭隘工程方法必须扩大到包括通过社会技术和系统视角实现安全的概念。安全标准和伦理评估需要在使用背景中进行,并涵盖社会技术系统的各个层面。

    结论

    本文挑战了关于使用 RLxF 和 3H 实现 AI 安全和对齐的主张。从社会技术视角出发,我们对这一方法的理论和实践元素进行了批判,强调了其局限性、内在张力和矛盾。RLxF 可能适用于增强 LLM 的类人行为,但这种微调技术不会提升系统安全或伦理 AI,相反,它引发了新的问题。

    参考文献

    • Adam Dahlgren Lindström, et al. (2024). AI Alignment through Reinforcement Learning from Human Feedback? Contradictions and Limitations. arXiv.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文《AI ALIGNMENT THROUGH REINFORCEMENT LEARNING FROM HUMAN FEEDBACK? CONTRADICTIONS AND LIMITATIONS》主要关注和批判性地评估了通过人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)方法来调整人工智能(AI)系统,尤其是大型语言模型(Large Language Models, LLMs),使其与人类价值观和意图一致的尝试。论文指出了这种方法在实现诚实(honesty)、无害(harmlessness)和有帮助(helpfulness)等广泛追求的对齐目标时存在的不足和局限性。

    具体来说,论文试图解决的问题包括:

    1. 理论基础的不足:RLHF方法在理论上如何捕捉人类伦理的复杂性,并为AI安全做出贡献存在疑问。
    2. 实践实施的限制:在实际应用中,RLHF方法在确保AI系统符合人类价值观方面存在明显的局限性。
    3. 内在的矛盾和冲突:RLHF的目标在追求诚实、无害和有帮助时存在内在的矛盾。
    4. 伦理相关问题的忽视:在关于对齐和RLHF的讨论中,往往忽视了与伦理相关的重要问题,如用户友好性与欺骗、灵活性与可解释性、系统安全之间的权衡。

    论文通过多学科的社会技术批评,揭示了RLHF方法的这些限制,并呼吁研究人员和实践者批判性地评估RLHF的社会技术影响,倡导在AI发展中采用更加细致和反思性的方法。

    Q: 有哪些相关研究?

    A: 论文中提到了多项相关研究,它们从不同角度探讨了人工智能对齐、强化学习、大型语言模型以及伦理问题。以下是一些在论文中引用的相关研究:

    1. Askell et al., 2021: 提出了“有帮助、诚实、无害”作为AI对齐的标准,因为它们简单易记,并能捕捉我们对对齐AI的大多数期望。
    2. Christiano et al., 2017: 展示了如何通过人类反馈来进行复杂的强化学习任务,而无需直接访问奖励模型。
    3. Bender et al., 2021: 讨论了大型语言模型可能产生的有害、有毒和不真实的内容。
    4. Dinan et al., 2021: 提出了一种框架和工具,用于预测端到端对话AI中的安全问题。
    5. Jawahar et al., 2019: 研究了BERT模型对语言结构的学习情况。
    6. Goldberg, 2019: 评估了BERT模型的句法能力。
    7. Schulman et al., 2015: 提出了一种用于近策略优化(Proximal Policy Optimisation, PPO)的技术。
    8. Leveson, 2012: 提出了“灵活性的诅咒”(curse of flexibility)概念,讨论了软件系统的灵活性如何导致安全问题。
    9. Bai et al., 2022a, 2022b: 讨论了如何使用人类反馈来训练一个有益和无害的助手,以及通过AI反馈来提高无害性。
    10. Casper et al., 2023: 提供了RLHF的开放问题和局限性的分类。
    11. Ouyang et al., 2022: 研究了如何使用人类反馈来训练语言模型以遵循指令。
    12. Liu et al., 2023, 2024: 分析了RLHF在确保LLMs与人类意图对齐方面的重要性,并探讨了诚实与有帮助之间的冲突。
    13. Kirk et al., 2023a, 2023b, 2024a, 2024b: 探讨了LLM对齐的现有工作,以及RLHF对LLM泛化和多样性的影响。
    14. Miceli and Posada, 2022: 讨论了数据生产装置,以及数据标注者可能受到的激励,以及他们如何影响AI系统的价值观。
    15. Narayanan et al., 2023: 指出模型对齐可以防止意外伤害,但不能防止故意的伤害。

    这些研究涵盖了从技术实现、伦理问题到系统安全等多个方面,为论文提供了丰富的背景和论据。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个步骤来解决和批判性地评估AI对齐问题:

    1. 多学科社会技术批评:结合技术、哲学和系统安全的观点,对RLxF(包括RLHF和RLAIF)技术的理论基础和实际实施进行详细分析和批评。
    2. 分析RLHF和RLAIF技术:概述了这两种技术的基本工作原理和它们在优化大型语言模型(LLMs)方面的应用。
    3. 指出3H标准的问题和局限性:深入探讨了诚实(honesty)、无害(harmlessness)、有帮助(helpfulness)这三大标准在实践中的不足和问题。
    4. 讨论RLxF引发的伦理问题:分析了通过RLxF对齐AI时可能产生的伦理风险,如用户友好性与欺骗、灵活性与可解释性、系统安全之间的权衡。
    5. 提出替代方案:提出了一种超越纯技术观点的AI安全和伦理AI的替代方法,该方法集成了社会技术分析、系统安全学术研究和伦理思考。
    6. 强调系统安全的重要性:论文指出,为了实现AI的安全和伦理,需要采用包括组织和制度干预在内的社会技术系统方法。
    7. 呼吁更多的反思和细致的方法:论文最后呼吁研究人员和实践者批判性地评估RLxF的社会技术影响,并倡导在AI发展中采用更加细致和反思性的方法。
    8. 提出研究挑战:识别了在系统安全方面需要解决的新研究挑战,例如如何减少软件的复杂性,以及如何优先考虑更小、更具目的性的模型和架构。

    通过这些步骤,论文不仅揭示了当前AI对齐方法的局限性,而且提出了一种更为全面和综合的方法来处理AI技术带来的挑战。

    Q: 论文做了哪些实验?

    A: 根据提供的论文内容,这篇论文似乎并没有直接进行实验操作,而是采用了批判性分析和理论探讨的方法。论文的主要内容集中在以下几个方面:

    1. 理论分析:对通过人类反馈的强化学习(RLHF)方法进行理论上的评估,特别是针对大型语言模型(LLMs)的对齐问题。
    2. 社会技术批评:从多学科的角度,对社会技术系统和AI对齐方法进行批评性分析,揭示了这些方法在理论上的不足和实践中的局限性。
    3. 伦理问题探讨:讨论了RLHF和RLAIF方法可能引发的伦理问题,包括用户友好性与欺骗、灵活性与可解释性、系统安全等方面的权衡。
    4. 文献综述:引用了多篇相关研究,对现有文献进行综述,以支持论文中的观点和论据。
    5. 问题和局限性的列举:列举了RLHF方法在技术实施上的挑战和局限性,如收集人类反馈、训练奖励模型和训练策略等方面的问题。
    6. 替代方法的提出:提出了一种超越纯技术观点的AI安全和伦理AI的替代方法,强调了社会技术分析、系统安全学术研究和伦理思考的重要性。
    7. 系统安全的重要性强调:讨论了系统安全在AI对齐中的作用,并提出了一些关于如何改进AI系统设计和反馈机制的建议。

    总的来说,这篇论文更侧重于理论探讨和批判性分析,而不是实验研究。它通过分析现有文献、提出问题和局限性,以及讨论伦理和社会技术问题,来质疑和反思当前AI对齐方法的有效性和安全性。

    Q: 有什么可以进一步探索的点?

    A: 论文提出了一些关于人工智能对齐和强化学习从人类反馈(RLHF)方法的批判性观点,并指出了若干可以进一步探索的领域。以下是一些可能的研究方向:

    1. 价值观的多样性和动态性:研究如何在AI系统中更好地处理和适应不同文化、社会和个人价值观的多样性和变化。
    2. 伦理框架的集成:开发更全面的伦理框架,以指导AI系统的设计和决策过程,确保它们的行为符合广泛的伦理标准。
    3. 社会技术系统方法:探索如何将社会技术系统的观点更深入地集成到AI开发中,以考虑技术部署的更广泛社会影响。
    4. 系统安全和稳健性:研究如何提高AI系统的安全性和稳健性,特别是在面对故意的操纵和滥用时。
    5. 用户界面和交互设计:研究如何设计用户界面和交互方式,以减少对用户的误导,并提高对AI系统能力和限制的透明度。
    6. 数据和模型的偏见:深入研究和解决AI模型中的数据偏见问题,确保模型的公正性和无歧视性。
    7. 可解释性和透明度:提高AI系统的可解释性,让用户和利益相关者更好地理解系统的决策过程。
    8. 跨学科合作:促进不同学科之间的合作,如计算机科学、伦理学、社会学和心理学,以更全面地解决AI对齐问题。
    9. 政策和法规:研究如何制定有效的政策和法规,以指导AI技术的发展和应用,确保其符合社会伦理和安全标准。
    10. 长期影响评估:评估AI技术长期对社会结构和个人行为的影响,以及如何设计系统以减轻潜在的负面影响。
    11. 技术替代方案:探索替代技术或方法,如更小规模、特定用途的AI模型,这些模型可能更容易进行需求工程和本地化适应。
    12. 教育和公众参与:研究如何通过教育和公众参与提高对AI技术的理解,以及如何让更广泛的社会群体参与到AI伦理和政策的讨论中。

    这些探索点可以帮助研究者、开发者和政策制定者更全面地理解和应对AI技术带来的挑战。

    Q: 总结一下论文的主要内容

    A: 这篇论文《AI ALIGNMENT THROUGH REINFORCEMENT LEARNING FROM HUMAN FEEDBACK? CONTRADICTIONS AND LIMITATIONS》主要探讨了通过人类反馈的强化学习(RLHF)方法在实现人工智能(AI)特别是大型语言模型(LLMs)与人类价值观和意图对齐方面的尝试,并对其存在的矛盾和局限性进行了批判性分析。以下是论文的主要内容总结:

    1. 问题提出:论文指出RLHF方法被广泛用于改善AI系统的性能,尤其是LLMs,以期达到诚实、无害和有帮助的目标,但这种方法存在明显的局限性。
    2. 技术背景:介绍了LLMs的基本概念,以及RLHF和基于AI反馈的强化学习(RLAIF)技术如何被应用于LLMs的微调过程。
    3. 理论批评:从技术、哲学和系统安全的角度,对RLHF方法进行了批评,揭示了在捕捉人类伦理复杂性方面的不足。
    4. 3H标准的局限性:详细分析了诚实、无害和有帮助这三大标准在实际应用中的问题和局限性。
    5. 伦理问题探讨:讨论了RLHF可能引发的伦理问题,包括用户友好性与欺骗、灵活性与可解释性、系统安全等方面的权衡。
    6. 社会技术批评:强调了需要从社会技术系统的角度来评估RLHF的影响,而不仅仅是技术层面。
    7. 替代方法提出:提出了一种超越纯技术观点的AI安全和伦理AI的替代方法,强调了社会技术系统分析、系统安全学术研究和伦理思考的重要性。
    8. 系统安全的重要性:讨论了系统安全在AI对齐中的作用,并提出了一些关于如何改进AI系统设计和反馈机制的建议。
    9. 结论:论文最后得出结论,RLHF方法虽然在某些方面有益,但不足以实现AI的安全和伦理,需要采取更加全面和细致的方法来处理AI技术带来的挑战。
    10. 致谢:论文最后感谢了支持这项研究的机构和项目。

    整体而言,论文对当前AI对齐方法的有效性和安全性提出了质疑,并呼吁采取更加综合的方法来应对AI发展中的伦理和社会技术问题。

  • 用对比学习优化本地监督:无辅助网络的高效方法

    引言

    反向传播(Backpropagation,简称 BP)自 1986 年提出以来,一直是深度学习的基本工具。然而,BP 存在两个固有的限制。首先,在正向和反向传播过程中需要权重对称,使得 BP 在生物学上难以实现(Liao et al., 2016)。虽然生物学上的逼真性和学习算法的有效性之间的因果关系尚未明确,但许多深度学习研究都尝试模拟人类的生物和认知过程(Fei et al., 2022;Taniguchi et al., 2022)。其次,正向传播只能在反向传播完全完成后才能启动(反向锁定),反之亦然(正向锁定),这导致计算效率低下,因为并行化受限。此外,由于权重梯度计算需要存储每一层的局部激活,内存使用也不高效。

    为了解决这些问题,提出了几种 BP 替代方案。反馈对齐(Feedback Alignment,简称 FA)用固定的随机权重取代对称反馈权重,但仍受到正向/反向锁定的限制。其继任者直接反馈对齐(Direct Feedback Alignment,简称 DFA)直接将误差信号传播到每一层,以缓解反向锁定问题。然而,DFA 并没有解决正向锁定问题。为此,本地监督通过最小化局部损失来利用局部权重更新。具体而言,本地学习(Local Learning,简称 LL)使用模块化辅助网络进行局部 BP,以处理局部输出并与目标对齐进行局部损失计算。尽管辅助网络使现有的 LL 达到了与 BP 相当的性能,但每个模块都使用辅助网络显著增加了模型参数。

    本地监督的新方向:前向学习

    一种较新的本地监督方法完全消除了 BP 和辅助网络。本文称这种方法为前向学习(Forward Learning,简称 FL)。在 FL 中,每层的权重更新通过层特定的局部损失引导,避免了正向/反向锁定问题,显著提高了计算效率。在没有 BP 和辅助网络的情况下,实施 FL 的关键在于制定局部目标以进行损失计算。例如,前向前向算法(Forward-Forward,简称 FF)通过将独热编码标签叠加到图像上,定义局部目标,将它们视为图像中的单独像素。由于局部输出包含目标信息,基于 FF 的方法通过优化局部输出的自点积来实现对比学习目标。然而,这使得 FL 场景中的对比学习容易受到局部输出中与任务无关的信息的影响,导致性能不如 BP 和 LL。

    我们的研究表明,辅助网络在减轻与任务无关信息的影响方面起着关键作用。针对没有辅助网络带来的挑战,我们提出了一种简单但有效的局部对比学习目标——词典对比学习(Dictionary Contrastive Learning,简称 DCL),它有效地将局部输出与标签嵌入向量对齐。我们评估了 DCL 的两个版本:一个使用静态标签嵌入向量,适用于 FL 场景;另一个使用自适应标签嵌入向量。值得注意的是,静态方法在 FL 场景中显著优于现有的 FL 基准,通过更有效地丢弃与任务无关的信息。而自适应方法展示了与 BP 和 LL 相当的性能,同时在参数和内存效率方面显著优于 LL。

    相关工作

    本地学习

    当前的研究趋势包括 LL 领域的两个重要方向。Nøkland 和 Eidnes(2019)是最早展示非 BP 学习算法能超越 BP 性能的研究之一。他们利用两个不同的局部损失,每个损失都来自一个单独的辅助网络路径。重构损失测量独热编码标签的自相似矩阵与局部特征之间的 L2 距离,而标签预测损失使用交叉熵,这在 BP 和 LL 的局部层中都很常见(Belilovsky et al., 2019;2020;Pathak et al., 2022)。Nøkland 和 Eidnes(2019)还引入了生物学上合理的、无 BP 版本的这些损失,即 LL-bpf。重构损失使用标准差操作代替卷积辅助网络,而标签预测损失使用反馈对齐进行权重更新。

    另一种方法是 Wang 等人(2020)对 LL 进行信息理论分析。作者研究了局部损失目标对互信息度量的影响:I(h, x)(局部特征与输入之间)和 I(h, y)(局部特征与标签之间)。与 BP 相比,随着 LL 层数的加深,I(h, x) 和 I(h, y) 下降得更加明显。为了减轻正向传播过程中 I(h, x) 的损失,作者引入了模块化重构损失,鼓励局部特征保留输入信息。此外,他们证明最小化监督对比损失最大化了 I(h, y) 的下界。使用对比损失和重构损失的结合显著提高了性能,但也增加了模块化重构损失带来的计算需求。

    前向学习

    FL 旨在避免依赖 BP,因此限制了辅助网络的使用,这些网络通过 BP 引导特征向其目标进行局部更新。在没有这些辅助网络的情况下,制定局部目标变得至关重要。为了应对这一挑战,前向前向算法(FF)通过将独热编码标签叠加到图像上定义局部目标,将它们视为图像中的单独像素。通过噪声对比估计(Noise Contrastive Estimation,简称 NCE),FF 优化局部特征的自点积,使其在标签与图像匹配时(正样本对)高于某一阈值,否则(负样本对)局部特征应低于某一阈值。其他基于 FF 的方法遵循相同的 NCE 目标和标签叠加,具有专门的架构(PFF)或精细的标签叠加技术(SymBa)。

    与 FF 走不同路径,层叠前向算法(CaFo)通过线性投影平坦化的局部特征进行局部标签预测。为了在没有 BP 的情况下实现这一点,CaFo 冻结前向层的权重,仅保留局部线性投影层的权重更新。另一方面,直接随机目标投影(DRPT)将独热编码标签视为误差信号本身,并使用固定的随机权重将误差信号传播到每一层。由于独热编码标签在局部可访问,参数更新可以在每次前向传递期间发生。

    背景

    对比学习在表示学习中是一种强大的工具,其在 LL 和 FL 背景下的有效性也得到了证明。InfoPro(Wang et al., 2020)是一种 LL 方法,比较来自模块化辅助网络的局部特征。相比之下,基于 FF 的方法利用局部特征的自点积,因为这些特征包含标签信息。Wang 等人(2020)中,对于来自前向传递层的一批局部输出,局部对比损失定义如下:

    [
    L_{\text{contrast}} = – \frac{1}{i \ne j \cdot 1_{y_i=y_j}} \sum_{i \ne j} \left[1_{y_i=y_j} \log \frac{\exp(a_i^\top a_j / \tau)}{\sum_{k=1}^N 1_{i \ne k} \exp(a_i^\top a_k / \tau)} \right], \quad a_i = f_\phi(h_i),
    ]

    其中 (\tau) 是温度超参数,(y \in {1, …, Z}) 是真实标签,(f_\phi) 是辅助网络。在公式(1)中,(a_i) 和 (a_j) 是正特征,满足 (y_i = y_j)。此函数旨在最大化正特征之间的相似性,同时最小化负特征之间的相似性。当辅助网络 (f_\phi) 是一个恒等函数时,该目标表示 FL 场景。为了方便起见,我们用 (L_{\text{feat}}) 来表示 (f_\phi(h) = h) 时的 (L_{\text{contrast}})。请注意,本文的主要目标是在没有辅助网络的情况下,通过对比学习提高性能。为此,(L_{\text{feat}}) 可以被视为将进一步详细阐述的基础框架。

    尽管基于 FF 的方法和 InfoPro 利用对比学习概念来制定局部目标,但基于 FF 的方法性能不及 InfoPro(LL)。此外,在完全相同的设置下,我们比较了 (L_{\text{contrast}}) 和 (L_{\text{feat}}) 的性能,并报告了显著的性能差距。这些发现强调了辅助网络在局部对比学习中的重要性,为我们提出目标在没有辅助网络的情况下开发一个出色的局部对比学习框架奠定了基础。

    方法

    动机

    为了在没有辅助网络的情况下利用局部对比学习提高模型性能,我们首先通过检查辅助网络的作用来设计方法。我们认为,(L_{\text{contrast}}) 和 (L_{\text{feat}}) 之间的显著性能差异可以归因于存在互信息 (I(h, r)),其中 (r) 是输入 (x) 中的任务无关变量。然后,给定一个任务相关变量 (y),可以得出 (I(r, y) = 0),因为互信息 (I. 表示通过观察另一个随机变量获得的关于一个随机变量的信息量。(L_{\text{feat}}) 最大化局部特征之间的相似性,而不是特征与标签之间的相似性。因此,最大化局部特征之间的相似性可能也会增加 (I(r+, rp)),误导模型认为任务无关信息是有意义的特征。

    在这方面,辅助网络有能力过滤掉 (r),减轻 (r) 在 LL 中的影响。然而,在没有辅助网络的 FL 中,(r) 的影响变得更加明显和有害。这可能解释了现有对比学习在 FL 场景中的性能较差。

    词典对比损失

    为了在 FL 中解决 (r) 的问题,我们提出了一种新颖的目标,直接最大化局部特征 (h) 与对应目标标签的嵌入向量之间的相似性。

    将标签映射到嵌入向量

    为了从每个目标标签 (y_z) 获得标签嵌入 (t_z),我们定义一个嵌入映射函数 (f_m)。嵌入映射函数 (f_m: N \to R^{CD}) 是一个从标签到 CD 维度标签嵌入向量的一对一映射,可以直接与密集局部特征进行比较。每个标签嵌入向量 (t) 初始化为标准正态随机向量,其每个元素都是从标准正态分布中独立同分布的随机变量。对于 Z 类标签,我们有一个标签嵌入词典 (D_Z = {f_m(y_z) | y_z \in {1, …, Z}}),其中 (f_m(y_z) = t_z)。

    局部特征

    我们旨在优化标签嵌入向量 (t) 与局部特征 (h) 之间的相似性。首先,由于局部特征的形状可能因不同架构而异,我们将 (h) 的表示标准化。我们将第 l 层的局部特征表示为 (h_l \in R^{C_l \times K_l}),其中 (K_l) 是 (C_l) 维特征向量的数量。因为每层的 (C_l) 可能不同,我们定义标签嵌入向量的维度 (CD) 为 (C_l) 的最大值。对于全连接层(FC),我们将平坦化的输出向量 (h_{\text{flat}} \in R^{C_l \times K_l}) 重新整形为 (h_l \in R^{C_l \times H_l \times W_l}),其中 (C_l) 表示通道维度,而 (H_l) 和 (W_l) 表示特征图的高度和宽度。通过设置 (K_l = H_lW_l),我们保持特征图中 (C_l) 维向量的完整性。为防止跨层 BP,我们使用停止梯度操作符 sg[·],使得 (h_l = f_l(\text{sg}[h_{l-1}]))。

    训练目标

    最终预测层 (f_L. 的权重通过标准交叉熵损失进行更新。所有其他层 (f_l) 的权重通过词典对比损失 (L_{\text{dict}}) 更新。对于一批局部特征 ({h_n}_{n=1}^N),我们最小化损失:

    [
    L_{\text{dict}} = – \log \frac{1}{N} \sum_{n=1}^N \frac{\exp(\langle \bar{h}n, t_z^+ \rangle)}{\sum{z’=1}^Z \exp(\langle \bar{h}n, t{z’} \rangle)},
    ]

    其中我们定义 (\bar{h}n := \frac{1}{K} \sum{k=1}^K h_{n,k}),(\langle·, ·\rangle) 表示点积,标签嵌入向量 (t^+) 对应于 (h_n) 的标签。局部特征向量的维度可能因不同层而异。为了将 (t_z \in R^{CD}) 的向量维度对齐到 (\bar{h} \in R^{C_l}),我们为每层使用一维平均池化 (pool_l: R^{CD} \to R^{C_l})。

    在本文中,我们仅在 FL 场景中应用静态标签嵌入向量,以应对层权重和标签嵌入权重不能同时更新的限制。技术上,这种限制使我们的自适应方法部分前向/后向锁定,尽管这种锁定在实际中是有限且可以忽略的。然而,为了公平评估完全前向/后向解锁的其他 FL 方法,我们的静态方法在整个训练过程中保持初始标签嵌入权重不变,使得 (t_{\text{static}} = \text{sg}[t_z])。相比之下,在不受 FL 特定限制的场景中,标签嵌入向量是自适应的,通过 (L_{\text{dict}}) 的误差信号在每层更新其权重。图 2 展示了使用 (L_{\text{dict}}) 的训练工作流程。我们在附录 B 中证明了最小化 (L_{\text{dict}}) 最大化了 (I(h, y)) 的下界。

    与其他对比目标的比较

    基于 InfoNCE(Oord et al., 2018)的对比目标因负样本数量的大小而敏感(Khosla et al., 2020;Radford et al., 2021;Chen et al., 2020)。这些对比目标,包括 (L_{\text{feat}}),通常使用批内负样本,并且随着批量大小 (N. 增大而表现出更好的性能(Wang et al., 2020;Lee et al., 2018)。相比之下,(L_{\text{dict}}) 中的负样本数量对应于 (Z – 1)。因此,(L_{\text{dict}}) 的有效性取决于类别数量。实验证明,较高的类别数量 (Z) 相对于使用静态标签嵌入向量的情况下,通常表现更好。然而,即使类别较少,竞争力性能仍能达到。

    层级预测

    最小化 (L_{\text{dict}}) 最大化了局部特征 (h) 与其对应标签嵌入向量 (t^+) 之间的相似性,同时最小化与非对应标签嵌入向量的相似性。利用 (L_{\text{dict}}) 的这一性质,(D_Z. 可用于推理而无需最终线性分类器 (f_L)。通过选择与特征向量相似性最高的目标标签,可以生成预测结果:

    [
    \hat{y} = \arg \max_z \langle \bar{h}, t_z \rangle.
    ]

    因此,在每一层都可以进行预测。此外,这允许层级预测的加权和作为全局预测。Belilovsky 等人(2019)和 Zhao 等人(2023)的实验表明,这种方法优于单独由 (f_L. 进行的预测。层级预测的实验结果见附录 C。

    实验

    实验设置

    由于 FL 和 LL 之间存在显著的性能差异,我们进行单独的比较。在 FL 场景中,我们使用静态标签嵌入的静态方法 DCL-S. 使用简单的全连接(FC)和卷积(Conv)架构来评估 FL 基准。对于我们的自适应方法 DCL,我们采用 Nøkland 和 Eidnes(2019)使用的 VGG8B 架构。

    主要结果

    与 FL 方法的比较

    我们首先将静态方法 DCL-S 与 BP 和其他 FL 方法进行比较。表 1 和表 2 报告了在 MNIST、CIFAR-10 和 CIFAR-100 数据集上的测试错误率和参数数量。在 MNIST 上,CaFo 是 FL 模型中表现最好的。然而,对于更具现实意义的数据集(如 CIFAR-10 和 CIFAR-100),我们的目标显著优于其他 FL 方法。表 1 显示,尽管我们使用的卷积模型参数更少,但其性能显著优于其他 FL 模型。我们的全连接模型在 CIFAR-10 和 CIFAR-100 上同样优于其他全连接模型,如表 2 所示。此外,我们的方法在所有数据集上始终优于 Lfeat。

    ApproachMNIST ParamsMNIST ErrCIFAR-10 ParamsCIFAR-10 ErrCIFAR-100 ParamsCIFAR-100 Err
    BP152K2.63153K22.841.43M46.41
    FF243K3.21243K25.862.4M59.24
    PFF1.8M1.484.1M32.5719.2M65.02
    CaFo152K11.55153K43.671.43M67.69
    DRTP243K3.21243K25.862.4M59.24
    SymBa1.87M1.2918.9M34.7319.2M65.94
    Lfeat1.87M1.4618.9M35.1219.2M66.48
    DCL-S1.87M1.4618.9M35.1219.2M66.48

    与 LL 方法的比较

    接下来,我们将自适应方法 DCL 与 LL 和 LL-bpf 进行比较。表 3 展示了在各种数据集上的测试错误率。我们的方法在 SVHN 和 STL-10 数据集上优于 BP 基线。对于每个数据集,我们的模型在与使用单一局部损失训练的 LL 模型相比时表现出竞争力。尽管我们的模型总体表现良好,但用两种局部损失函数训练的 LL-predsim 仍然优于我们的方法。然而,在所有数据集中,我们的模型始终优于 LL-predsim 的无 BP 版本 LL-bpf。值得注意的是,LL 的辅助网络显著增加了参数数量,而我们的方法引入了更少的额外参数:(Z \times CD)。表 4 强调了我们的方法在内存效率上优于 LL 和 BP,且比 LL 需要更少的参数。

    Loss TypeMethodMNISTF-MNISTCIFAR-10CIFAR-100SVHNSTL-10
    Single Global LossBP0.264.535.9926.202.2933.08
    Two Local LossesLL-contrec*0.65*5.71*9.02*31.35*2.34*29.74
    LL-predsim0.314.655.5824.101.7420.51
    LL-bpf*0.35*5.689.02*37.60*2.31*26.12
    Single Local LossLL-cont*0.37*5.92*7.72*31.19*2.29*26.83
    LL-pred0.405.668.4029.302.1226.83
    LL-sim0.655.127.1632.601.8923.15
    Single Local LossDCL0.335.528.6431.752.1922.87
    MethodMNIST, F-MNIST MemoryCIFAR-10, SVHN MemoryCIFAR-100 MemorySTL-10 Memory
    BP847 MiB1086 MiB1088 MiB2315 MiB
    LL-contrec811 MiB1049 MiB1050 MiB5954 MiB
    LL-predsim1038 MiB1291 MiB1310 MiB2594 MiB
    LL-bpf708 MiB895 MiB897 MiB1851 MiB
    LL-cont870 MiB1.43M MiB890 MiB1826 MiB
    LL-pred933 MiB1154 MiB1156 MiB2290 MiB
    DCL580 MiB747 MiB751 MiB1589 MiB

    进一步分析和讨论

    对任务无关信息的鲁棒性

    为了重新审视我们在第 4.1 节中讨论的动机,我们分析了我们的目标与 Lfeat 和 Lcontrast 在任务无关信息方面的区别,如图 3 所示。表 1 和表 2 强调了 Ldict 与 Lfeat 之间的性能差距,尤其是在卷积网络中。我们通过任务无关信息的视角解释这些差异。正如我们的假设,图 3 显示了 Lfeat 遇到了干扰问题,即 (I(h, r)) 没有从基线减少。相比之下,Ldict 从第四层开始有效地减少了 (I(h, r)),最终与辅助网络(Lcontrast)实现的 (I(h, r)) 水平相匹配,即使标签嵌入向量是静态的。附录 J. 2.7 详细介绍了估计互信息的方法。

    自适应嵌入的有效性

    图 4 描述了自适应嵌入与静态嵌入在 CIFAR-10 和 CIFAR-100 上的有效性。使用自适应标签嵌入词典 (D_Z. 训练的模型始终优于使用静态标签嵌入向量的模型,无论比较的静态嵌入是随机的((D_N))还是正交的((D_\perp))。特别是,在 CIFAR-100 上,卷积架构的性能差距比 CIFAR-10 更明显。

    解释性与标签嵌入

    图 5 展示了在 CIFAR-10 上用 VGG8B 训练的模型中,最后一层预测的前两名标签的显著性图可视化结果。这些显著性图通过标签嵌入向量与单个局部特征向量的点积生成,每个局部特征向量表示图像中的一个区域。对于前一名标签,显著性图与输入图像中与该标签相关的区域清晰对齐。例如,”Horse” 标签的显著性与马的身体精确匹配。

    显著性图也能合理解释错误标签的高置信度。图 5 中,”Horse” 图像中与第二名标签 “Deer” 相关的显著性表明模型将马头附近的两棵树误认为是鹿角。这种误解是因为鹿角通常为 “Deer” 标签生成较高的显著性,如 “Deer” 图像中与第一名标签 “Deer” 相关的显著性所示。更多示例见附录 K. 3。

    自适应嵌入的语义属性

    图 6 展示了 CIFAR-100 上自适应标签嵌入向量的语义关系,CIFAR-100 包含 20 个超级标签,每个超级标签包含 5 个子标签。这些向量的聚类突显了它们的语义学习能力,类似于图 5 中与标签特定显著特征的对齐。同一超级标签的嵌入往往聚集在一起,而语义相似但不同超级标签的嵌入也显示出接近。例如,”forest” 更接近 “trees”,而 “chimpanzee” 更接近 “people” 而非其他超级标签组内的嵌入。更多关于超级标签的实验见附录 D.

    自适应标签嵌入与混淆率

    图 7 捕捉了 CIFAR-10 上混淆率与自适应标签嵌入相似性的关系。对于标签 (y_i) 和 (y_j),混淆率定义为错误预测 (y_i) 为 (y_j) 的测试错误率的平均值。图 7 显示,随着标签之间混淆率的增加,这些标签的嵌入表示变得更为不同。这表明,当模型难以区分两个标签时,它通过动态调整标签嵌入空间以便更好地分离标签。

    平均池化与投影的比较

    我们考虑一个全连接层 (f_l^P. R^{CD} \to R^{C_l}) 作为替代 Eq. (2) 中使用的一维平均池化 (pool_l)。线性投影层 (f_l^P) 将 CD 维度标签嵌入向量映射到 (C_l) 维度标签嵌入向量,使得 (f_l^P(t_z) = t_l^z)。表 5 显示,平均池化在性能和内存/参数效率上优于线性投影。

    结论

    本文发现,传统对比学习目标在没有辅助网络的情况下效率受限,主要原因是任务无关信息的存在。为了解决这一挑战,我们提出了一种新颖的目标 DCL,直接将局部特征与标签特定的嵌入向量对齐。即使没有辅助网络,我们的方法也能有效丢弃任务无关信息,显著优于其他 FL 方法。此外,我们的方法使用自适应标签嵌入向量,达到与 BP 和 LL 相当的性能,同时在参数/内存效率方面优于 LL。我们希望这项工作能为未来研究铺平道路,将 DCL 定位为 BP 的强大替代方案。

    参考文献

    • Liao, Q. , Leibo, J.Z., & Poggio, T. (2016). How important is weight symmetry in backpropagation? In AAAI.
    • Fei, Y. , Taniguchi, T., et al. (2022). Emulating human biological and cognitive processes in deep learning.
    • Nøkland, A. , & Eidnes, L.H. (2019). Training neural networks with local error signals.
    • Belilovsky, E. , et al. (2020). Decoupled greedy learning of CNNs.
    • Pathak, D. , et al. (2022). Learning representations by maximizing mutual information across views.
    • Oord, A. , et al. (2018). Representation learning with contrastive predictive coding.
  • 字典对比学习:一种高效的局部监督方法

    深度学习的成功离不开反向传播(BP)算法,但BP也面临两大挑战:计算效率低和生物学上不合理。为了解决这些问题,研究人员提出了局部监督学习,主要包括局部学习(LL)和前向学习(FL)两种方法。

    现有方法的局限性

    LL通过辅助网络实现了与BP相当的性能,但增加了内存和参数开销。FL则完全摒弃了BP和辅助网络,但性能不如BP。现有的FL方法主要采用对比学习框架,但容易受到与任务无关信息的影响,导致性能下降。

    字典对比学习(DCL)方法

    为了解决这一问题,研究人员提出了字典对比学习(DCL)方法。DCL的核心思想是优化局部特征与标签嵌入向量之间的相似度,而不是像传统对比学习那样优化特征之间的相似度。

    DCL方法包括两个版本:

    1. 静态版本(DCL-S. :使用固定的标签嵌入向量,适用于FL场景
    2. 自适应版本(DCL):使用可更新的标签嵌入向量,性能接近BP和LL

    DCL的优势

    1. 性能优势:
    • 静态版本在FL场景中显著优于现有方法
    • 自适应版本接近BP和LL的性能
    1. 效率优势:
    • 比LL方法使用更少的参数
    • 内存效率更高
    1. 可解释性:
    • 通过标签嵌入向量可以生成显著性图,解释模型决策
    1. 语义学习能力:
    • 标签嵌入向量能够学习到语义关系

    实验结果

    1. 在MNIST、CIFAR-10和CIFAR-100数据集上,DCL-S显著优于其他FL方法
    2. 在多个数据集上,DCL的性能接近或超过BP和LL方法
    3. DCL能够有效降低对任务无关信息的依赖
    4. 自适应标签嵌入比静态嵌入效果更好
    5. 标签嵌入向量展现出良好的语义学习能力和可解释性

    结论

    DCL为深度学习提供了一种新的训练范式,在不使用辅助网络的情况下也能有效去除任务无关信息,实现高效的局部监督学习。这项工作为未来发展BP的替代方案开辟了一条有价值的道路。

    参考文献:

    1. Choi, S. et al. (2024). Dictionary Contrastive Learning for Efficient Local Supervision Without Auxiliary Networks. ICLR 2024.
  • Mamba 2: 挑战Transformer的新型序列模型架构

    引言

    自2017年被提出以来,Transformer已成为AI大模型的主流架构,在语言建模领域长期占据主导地位。然而,随着模型规模不断扩大、需要处理的序列越来越长,Transformer的局限性也日益凸显。其中一个明显的缺陷是:Transformer模型中自注意力机制的计算量会随着上下文长度的增加呈平方级增长。

    几个月前,一种名为Mamba的新型架构的出现打破了这一局面。Mamba能够随上下文长度的增加实现线性扩展,在中小型规模上已经实现了与Transformers匹敌甚至超越的性能。

    仅仅六个月后,Mamba的原作者团队再接再厉,推出了更强大的Mamba 2。本文将详细介绍Mamba 2的核心创新点及其相比Transformer的优势。

    Mamba 2的核心创新

    1. SSD框架:连接SSM和Transformer

    Mamba 2的核心贡献是提出了SSD(State Space Duality)框架。这一框架揭示了状态空间模型(SSM)与一类称为半可分矩阵的结构化矩阵族之间的等价性。通过SSD框架,研究者建立了SSM和Transformer之间的理论联系,为理解和改进序列模型开辟了新的方向。

    SSD框架的主要内容包括:

    • 展示了状态空间模型与半可分矩阵之间的等价性
    • 改进了线性注意力理论,推广出新的结构化掩码注意力(SMA)族
    • 证明了SSM和SMA有很大的交集,它们是对偶的
    • 证明了任何具有快速循环形式的核注意方法都是SSM

    2. 高效的SSD算法

    基于SSD框架,研究者提出了一种新的高效算法来计算SSM。这种基于半可分离矩阵块分解的SSD算法,利用了SSM的线性递推和二次对偶形式,在各个效率维度上都取得了最优权衡。

    与Mamba的实现相比,SSD算法的速度提高了2到8倍。同时,它还允许使用更大的循环状态大小(是Mamba的8倍甚至更高),而几乎不影响速度。在长序列处理上,SSD算法的优势更加明显 – 在16K长度的序列上,它比优化过的softmax注意力实现(FlashAttention-2)快6倍。

    3. 改进的架构设计

    Mamba 2在网络架构上也做了一些改进:

    • 从顺序生成变为并行生成SSM参数
    • 引入分组值注意力(GVA)头结构
    • 更适合张量并行等扩展方法

    这些改进使得Mamba 2在保持模型表达能力的同时,显著提高了训练效率,特别是能够更好地利用现代加速器上的矩阵乘法单元。

    Mamba 2的性能优势

    1. 语言建模任务

    研究者在Pile数据集上训练了一系列Mamba 2模型,结果显示Mamba 2在标准下游评估中匹配或超过了Mamba和开源的Transformers。

    例如,在Pile上训练了3000亿token的2.7B参数Mamba 2模型,其性能超过了:

    • 在同一数据集上训练的2.8B参数Mamba模型
    • 2.8B参数的Pythia模型
    • 6.9B参数的Pythia模型

    这一结果表明,Mamba 2不仅能够与同等规模的Transformer模型相匹敌,甚至能够在更小的参数量下超越更大的Transformer模型。

    2. 复杂关联回忆任务

    研究团队在MQAR(multi-query associative recall)任务上对比了Mamba 2和Mamba 1的性能。MQAR是一种比文献中通常报告的版本更难的任务,要求模型具有更强的长程依赖建模能力。

    实验结果显示,Mamba 2明显优于Mamba 1。研究者认为,性能提升的一个重要原因是Mamba 2使用了更大的状态大小(比Mamba 1大约16倍)。这说明Mamba 2在处理需要更大状态容量的任务上有显著优势。

    3. 训练效率

    Mamba 2在训练效率方面也有明显提升。研究者在与Mamba相同的设置中研究了Mamba 2的Chinchilla扩展法则,发现它在困惑度和实际运行时间方面均优于Mamba和Transformer++。

    这意味着,在相同的计算资源下,Mamba 2能够更快地收敛到更好的性能,从而大幅提高模型训练的成本效益比。

    Mamba 2的理论意义

    Mamba 2不仅在实际性能上有显著提升,其背后的理论创新也具有重要意义:

    1. SSD框架提供了状态空间模型、注意力机制和结构化矩阵之间丰富的联系,为未来的序列模型研究开辟了新的方向。
    2. 通过建立SSM和Transformer之间的理论联系,Mamba 2为两种不同范式的模型架构搭建了桥梁,有助于研究者更好地理解和改进这两类模型。
    3. SSD算法的提出为高效计算SSM提供了新的思路,这一算法不仅适用于Mamba系列模型,也可能被应用到其他基于SSM的模型中。

    结论

    Mamba 2的出现为序列建模领域带来了新的可能性。它不仅在性能上挑战了长期占据主导地位的Transformer,更重要的是提供了一种新的思路来构建和理解序列模型。

    虽然目前Mamba 2主要在中小规模模型上展现出优势,但其线性扩展的特性使它在处理超长序列时具有巨大潜力。随着进一步的研究和优化,Mamba系列模型很可能在更多任务和更大规模上挑战Transformer的地位。

    然而,需要注意的是,Transformer模型经过多年发展已经形成了成熟的生态系统。Mamba要真正取代Transformer还需要时间和更多的实践验证。未来,我们可能会看到Transformer和Mamba各自在不同场景下发挥优势,或者两者结合形成新的混合架构。

    无论如何,Mamba 2的出现无疑为AI领域注入了新的活力,推动了序列模型的进一步发展。它的成功再次证明,在人工智能领域,创新永不止步。

    参考文献

    1. Gu, A. , Dao, T. et al. (2024). Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality. arXiv preprint.
    2. Zhou, W. et al. (2024). 再战Transformer!原作者带队的Mamba 2来了,新架构训练效率大幅提升. 腾讯云开发者社区.
    3. Vaswani, A. et al. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems.
    4. Gu, A. , Dao, T. et al. (2023). Mamba: Linear-Time Sequence Modeling with Selective State Spaces. arXiv preprint.
人生梦想 - 关注前沿的计算机技术 acejoy.com