解释性人工智能(XAI)

引言

        解释性人工智能(XAI)是指一类旨在使人能够理解和解释机器学习模型的方法和技术。XAI的目标是提高AI系统的透明度和可理解性,让人们能够理解机器学习模型的决策过程、推理方式和结果。这对于社会应用和用户信任非常重要,因为AI系统的不可解释性可能带来风险和问题。

        例如,在医疗领域,基于机器学习的诊断系统可能会出现错误的判断,如果这些错误不能被解释或理解,就会严重影响医生和患者的信任和满意度。同样,在金融领域,决策树或神经网络等模型的输出结果可能会影响到人们的投资和贷款等决策,如果这些决策不能被理解或解释,就难以建立起用户对AI系统的信任和依赖。

        因此,XAI对于提高AI系统的透明度和可理解性具有重要的作用和意义。通过XAI技术,人们可以更好地理解机器学习模型的决策过程,从而提高其可靠性和准确性。

1. 概念和背景

        解释性人工智能(XAI)是指一类旨在使人能够理解和解释机器学习模型的方法和技术。其目标是提高AI系统的透明度和可理解性,让人们能够理解机器学习模型的决策过程、推理方式和结果。

AI系统的透明度和可理解性对于社会应用和用户信任非常重要的原因如下:

  1. 可解释性促进可信度:当AI系统的决策过程可以被解释和理解时,人们更容易相信该系统的准确性和可靠性。这对于关键领域如医疗、金融和法律等至关重要,因为这些领域的决策往往需要有合理的解释和依据。

  2. 误判和错误纠正:如果AI系统做出错误的决策,可解释性使人们能够追溯决策的原因,并纠正错误。例如,在医疗诊断中,如果机器学习模型错误地将一个患者诊断为正常,医生可以通过理解模型的决策过程来找到错误的原因并进行修正。

  3. 避免偏见和不公平:AI系统的不可解释性可能导致潜在的偏见和不公平现象。例如,招聘中使用的自动筛选系统可能会对某些人群产生不公平的影响,但如果无法解释其决策过程,就很难发现和纠正这个问题。

下面是几个实际案例,说明AI系统的不可解释性可能带来的问题和风险:

  1. 信用评分系统:银行和金融机构使用AI算法来评估借款人的信用风险。然而,这些算法通常非常复杂且不可解释,导致借款人难以理解为何被拒绝贷款。这可能引发争议和不满,破坏用户对金融系统的信任。

  2. 自动驾驶汽车:自动驾驶汽车依赖于深度学习模型进行决策和感知。然而,当发生事故时,由于无法解释模型的决策过程,很难确定责任和原因。这可能引发法律纠纷和安全担忧。

  3. 医疗诊断系统:医疗领域利用AI系统进行疾病诊断和预测。如果这些系统不能提供解释和依据,医生和患者难以信任其结果。此外,不可解释的系统也难以满足医疗行业对于透明性和责任的要求。

        为了解决这些问题,XAI技术被广泛研究和应用,例如使用特征重要性分析、模型可视化和规则提取等方法来提高模型的可解释性和透明度。通过增加AI系统的可解释性,我们可以提高其社会应用的可信度和用户的信任水平。

2. XAI的应用和意义

  1. 医疗领域:XAI在医疗诊断和治疗决策中具有重要作用。通过解释模型的决策过程,医生可以更好地理解AI系统如何做出诊断,并与其共同决策。例如,通过可视化模型的特征重要性,医生可以了解到模型在诊断中关注的关键特征,从而提高对疾病的理解和判断。

代码示例:

# 使用LIME算法解释模型的决策过程
import lime
import lime.lime_tabular
​
# 创建LIME解释器
explainer = lime.lime_tabular.LimeTabularExplainer(training_data, feature_names=feature_names, class_names=class_names)
​
# 解释一个样本的预测结果
exp = explainer.explain_instance(test_sample, model.predict_proba, num_features=5)
exp.show_in_notebook()  # 在Jupyter Notebook中显示解释结果
  1. 金融领域:XAI在信用评分、风险管理和投资决策中发挥着重要作用。通过解释机器学习模型的决策过程,金融从业者可以更好地理解模型的预测依据,并评估其合理性和准确性。同时,可解释性还有助于发现和纠正潜在的偏见和不公平现象。

代码示例:

# 使用SHAP算法解释模型的预测结果
import shap
​
# 创建SHAP解释器
explainer = shap.Explainer(model)
​
# 解释一个样本的预测结果
shap_values = explainer(test_sample)
shap.plots.waterfall(shap_values[0])  # 绘制瀑布图来展示特征对预测结果的贡献
  1. 自动驾驶:XAI在自动驾驶领域有助于提高系统的可靠性和安全性。通过解释模型的决策过程,车辆乘客和监管部门可以更好地理解自动驾驶系统如何进行决策,并评估其合理性和安全性。这对于调查事故责任、改进系统设计和满足监管要求非常重要。

代码示例:

# 使用LIME算法解释模型的决策过程
import lime
import lime.lime_image
​
# 创建LIME解释器
explainer = lime.lime_image.LimeImageExplainer()
​
# 解释一张图像的预测结果
explanation = explainer.explain_instance(image, model.predict_proba, top_labels=1, hide_color=0, num_samples=1000)
explanation.show_in_notebook()  # 在Jupyter Notebook中显示解释结果

XAI不仅提供了更可靠和可解释的决策支持,还在解决AI伦理和偏见问题上发挥着重要作用:

  1. 减少算法歧视:通过解释模型的决策过程,可以发现和纠正潜在的算法歧视问题。例如,在招聘中使用自动筛选系统时,可解释性可以帮助评估其决策是否受到性别、种族等因素的影响,并采取相应的措施来减少偏见。

  2. 错误判断纠正:当AI系统做出错误的决策时,XAI可以帮助用户理解错误的原因,并采取相应的措施进行纠正。例如,在司法系统中使用AI进行罪犯判定时,如果模型的决策结果存在错误,可解释性可以帮助律师和法官理解模型的决策依据,从而发现和纠正错误。

        XAI在医疗、金融、自动驾驶等领域的应用能够提供更可靠和可解释的决策支持,帮助用户理解AI系统的决策过程。同时,它还有助于解决AI伦理和偏见问题,减少算法歧视和错误判断。通过使用适当的XAI技术和方法,可以增强AI系统的透明度和可信度,推动其在各个领域的应用。

XAI的研究领域和方法

1. 算法改进

  1. 透明机器学习算法

        透明机器学习算法是指那些可以提供模型决策过程的详细信息的算法。这些算法通常使用可解释性模型(例如线性回归、决策树等)或添加了可解释性约束的复杂模型(例如LASSO回归、ElasticNet等)来进行训练。这些算法的主要优点是提供了对模型决策过程的深入理解,从而帮助提高模型的可信度和预测准确性。

代码示例:

# 使用透明机器学习算法(如决策树)进行分类
from sklearn.tree import DecisionTreeClassifier
​
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
​
# 显示模型的特征重要性
feature_importances = model.feature_importances_
print(feature_importances)
        2.规则提取

规则提取是一种从黑盒模型中提取可理解规则的技术。它通常通过分析模型的输入输出关系来提取模型的行为和决策规则。这些规则可以用于解释模型的预测结果,并帮助用户理解模型的决策依据。

代码示例:

# 使用规则提取算法(如OneR)进行分类
from sklearn.naive_bayes import GaussianNB
from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score
​
iris = load_iris()
X, y = iris.data, iris.target
​
model = GaussianNB()
model.fit(X, y)
​
# 使用OneR算法提取规则
from sklearn.experimental import enable_hist_gradient_boosting
from sklearn.tree import DecisionTreeClassifier, export_text
​
rules = export_text(DecisionTreeClassifier(random_state=42).fit(X, y))
print(rules)
        3.局部可解释性模型

        局部可解释性模型是指那些可以提供关于单个预测的解释的模型。这些模型通常使用局部拟合算法来训练,例如局部加权线性回归(LWLR)或局部加权核密度估计(LWKDE)。这些模型的主要优点是提供了针对单个预测的解释和可信度评估,从而帮助用户更好地理解AI系统的决策过程。

代码示例:

# 使用局部加权线性回归(LWLR)进行预测
import numpy as np
from sklearn.linear_model import LinearRegression
​
def lwlr(test_point, x_data, y_data, k=1.0):m = np.shape(x_data)[0]weights = np.mat(np.eye((m)))for j in range(m):diff_mat = test_point - x_data[j, :]weights[j, j] = np.exp(diff_mat * diff_mat.T / (-2.0 * k ** 2))xTx = x_data.T * (weights * x_data)if np.linalg.det(xTx) == 0.0:return Nonews = xTx.I * (x_data.T * (weights * y_data))return test_point * ws
​
# 使用LWLR进行预测
test_point = np.array([0.5, 0.5, 0.5, 0.5])
lwlr(test_point, X_train, y_train, k=1.0)

        透明机器学习算法、规则提取和局部可解释性模型是提高AI系统可解释性和可靠性的常用方法。它们都可以提供对模型决策过程的深入理解,并帮助用户更好地理解AI系统的决策依据。这些方法在各个领域都有广泛的应用,例如医疗、金融、自动驾驶等。

2. 可视化技术

        可视化技术在可解释人工智能(XAI)中起着至关重要的作用,它能够帮助用户理解AI系统的决策过程、增强对模型的信任,并提供直观的解释。以下是两个常见的可视化技术示例:特征重要性可视化和决策路径可视化。

        1.特征重要性可视化

        特征重要性可视化是一种展示模型特征对预测结果的相对重要性的方法。它可以帮助用户了解模型对不同特征的依赖程度,从而更好地理解模型的决策依据。

代码示例:

import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
​
model = RandomForestClassifier()
model.fit(X_train, y_train)
​
# 获取特征重要性
feature_importances = model.feature_importances_
​
# 可视化特征重要性
plt.bar(range(len(feature_importances)), feature_importances)
plt.xticks(range(len(feature_importances)), feature_names, rotation=90)
plt.xlabel('Feature')
plt.ylabel('Importance')
plt.title('Feature Importance')
plt.show()

        上述代码使用随机森林分类器训练了一个模型,并通过feature_importances_属性获取了特征重要性。随后,使用matplotlib库进行可视化,将特征重要性以柱状图的形式展示出来。

        2.决策路径可视化

        决策路径可视化是一种将模型的决策路径以图形化的方式展示出来的技术。它可以帮助用户了解模型在预测过程中的决策流程,并提供对预测结果的解释。

代码示例:

from sklearn import tree
import graphviz
​
model = tree.DecisionTreeClassifier()
model.fit(X_train, y_train)
​
# 可视化决策树
dot_data = tree.export_graphviz(model, out_file=None, feature_names=feature_names, class_names=class_names, filled=True)
graph = graphviz.Source(dot_data)
graph.render("decision_tree")  # 将决策路径保存为PDF或图片文件
graph.view()  # 在浏览器中显示决策路径

        上述代码使用决策树分类器训练了一个模型,并使用export_graphviz函数将决策树导出为DOT格式的数据。随后,使用graphviz库将DOT数据渲染成决策树的可视化图形。

        通过特征重要性可视化和决策路径可视化,用户可以更好地理解AI系统的决策过程,并对预测结果的可靠性产生信任。这些可视化技术在XAI中起着关键作用,有助于提高用户对AI决策的理解和接受度。

3. 应用场景

  1. 医疗诊断

        在医疗诊断领域,AI系统可以通过分析患者的病历、体征和检查结果来预测病情,但这些AI系统通常是黑盒子,难以解释其决策依据。XAI技术可以帮助医生理解AI系统的决策过程,并提供更准确的判断依据。

        应用案例: 病情预测:AI系统可以根据患者的病历、体征和检查结果预测疾病的发展趋势,例如预测癌症的生存率或心脏病发作的风险。

XAI的帮助:

  • 解释特征重要性:XAI技术可以分析AI系统对预测结果所使用的特征,将其排序并显示给医生,从而帮助医生了解哪些特征对预测结果最为重要。

  • 提供可信的解释:通过可视化或文字形式的解释,XAI技术可以向医生解释AI系统如何结合特征进行决策,并提供对决策的信心度量。

优势:

  • 提高诊断准确率:XAI技术帮助医生理解AI系统的决策过程,从而帮助医生更好地使用AI系统作出准确的诊断。

  • 个性化治疗:通过理解AI系统的决策过程,医生可以根据患者的特定情况制定个性化的治疗方案。

  • 增加对AI系统的信任:通过提供透明和可解释的决策过程,XAI技术增加了医生对AI系统的信任,使其更愿意接受和使用AI系统。

挑战:

  • 模型可解释性问题:大多数AI模型是黑盒子,难以解释其决策依据,这使得医生难以理解AI系统如何得出某一诊断结果。

  • 数据质量问题:医疗数据通常复杂且存在噪声,这可能影响AI系统的预测准确性,同时也增加了解释AI系统决策的难度。

  • 法律和伦理问题:解释AI系统的决策过程可能涉及患者隐私和数据保护等法律和伦理问题。

解决方案:

  • 可解释人工智能技术:使用XAI技术,如局部线性可解释性(LIME)或SHapley Additive exPlanations(SHAP),可以帮助解释AI模型的决策过程。

  • 数据清洗和预处理:通过对医疗数据进行清洗和预处理,可以提高数据质量,减少噪声和错误。

下面是一个使用LIME解释模型决策的示例代码:

import lime
import lime.lime_tabular
​
# 训练模型
model.fit(X_train, y_train)
​
# 初始化解释器
explainer = lime.lime_tabular.LimeTabularExplainer(X_train, feature_names=feature_names, class_names=class_names, discretize_continuous=True)
​
# 选择一条样本进行解释
sample_idx = 10
sample = X_test[sample_idx]
​
# 解释该样本的预测结果
explanation = explainer.explain_instance(sample, model.predict_proba)
​
# 可视化解释结果
explanation.show_in_notebook()
        金融风险评估

        在金融风险评估中,AI系统可以通过分析客户的个人信息、财务状况和历史信用记录来评估其信用风险。XAI技术可以帮助金融专家理解AI系统的决策过程,并提供更准确的判断依据。

        应用案例: 信用评分:AI系统可以根据客户的个人信息和历史信用记录评估其信用风险,例如为客户分配信用分数或决定是否批准贷款申请。

        XAI的帮助:

        特征重要性解释:XAI技术可以解释哪些特征对于AI系统评估信用风险最为重要,从而帮助金融专家了解决策的依据。

        决策可信度评估:XAI技术可以提供对AI系统预测结果的置信度评估,帮助金融专家判断AI系统的决策是否可靠。

        优势:

        提高风险评估准确率:通过理解AI系统的决策过程,金融专家可以更好地使用模型评估客户的信用风险,从而提高评估准确率。

        降低信贷风险:通过更准确地评估客户的信用风险,金融机构可以更好地管理信贷风险,减少坏账率。

        加快决策速度:AI系统可以快速评估客户的信用风险,从而加快贷款决策的速度。

        挑战:

        模型可解释性问题:大多数AI模型是黑盒子,难以解释其决策依据,这使得金融专家难以理解AI系统如何评估客户的信用风险。

        数据质量问题:金融数据通常包含噪声和缺失值,这可能影响AI系统的预测准确性,并增加解释AI系统决策的难度。

        法律和伦理问题:使用AI系统评估信用风险可能涉及公平性和歧视等法律和伦理问题。

解决方案:

  • 可解释人工智能技术:使用XAI技术,如SHAP或LIME,可以帮助解释AI模型的决策过程。

  • 数据清洗和预处理:通过对金融数据进行清洗和预处理,可以提高数据质量,并减少噪声和错误。

使用XAI方法改进算法可解释性

        当使用常见的机器学习算法(如决策树或逻辑回归)时,可以应用可解释性技术来改进算法的可解释性。下面是一个使用LIME(局部线性可解释性)技术来解释决策树模型的示例代码:

import numpy as np
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
import lime
import lime.lime_tabular
​
# 加载数据集
data = load_iris()
X = data.data
y = data.target
feature_names = data.feature_names
class_names = data.target_names
​
# 训练决策树模型
model = DecisionTreeClassifier()
model.fit(X, y)
​
# 初始化解释器
explainer = lime.lime_tabular.LimeTabularExplainer(X, feature_names=feature_names, class_names=class_names, discretize_continuous=True)
​
# 选择一条样本进行解释
sample_idx = 0
sample = X[sample_idx]
​
# 解释该样本的预测结果
explanation = explainer.explain_instance(sample, model.predict_proba, num_features=len(feature_names))
​
# 可视化解释结果
explanation.show_in_notebook()

        上述代码使用了sklearn库加载鸢尾花数据集,并使用DecisionTreeClassifier训练了一个决策树模型。接下来,我们使用lime.lime_tabular.LimeTabularExplainer初始化了一个解释器,并传入特征名称、类别名称和训练数据。然后,我们选择一条样本进行解释,并使用explain_instance方法来解释该样本的预测结果。最后,我们使用show_in_notebook方法将解释结果可视化展示出来。

        LIME技术通过生成局部可解释模型来解释决策树模型的决策过程。它通过对原始样本进行微小的特征扰动来生成类似的数据集,并使用这些数据集训练一个线性模型,从而解释原始样本的预测结果。在解释器中,我们使用num_features参数来指定要选择的特征数量。

        解释结果的可视化展示了特征的重要性和对预测结果的影响程度。在每个特征的解释中,我们可以看到特征的权重以及对应的预测结果的变化。这些解释可以帮助我们理解决策树模型是如何根据特征进行决策的,从而提高模型的可解释性。

通过使用XAI技术(如LIME)解释决策树模型,我们可以获得以下好处:

  1. 特征重要性解释:解释器会根据特征的权重显示出每个特征对预测结果的重要性,帮助我们理解模型是如何利用不同特征进行决策的。

  2. 决策可信度评估:解释器可以提供对预测结果的置信度评估,帮助我们判断模型的决策是否可靠。

结论

        首先,XAI可以增强AI系统的可理解性和透明度。传统的机器学习算法在解决实际问题时,常常缺乏可解释性,难以解释模型的运行过程,造成了不可信的感觉。而XAI技术可以提高AI系统的可解释性,帮助用户理解AI系统的决策和行为,增加对AI系统的信任度和透明度。

        其次,XAI对于AI技术发展和社会应用具有推动作用。AI技术的应用范围越来越广泛,但很多领域的AI系统都需要遵守一些道德、法律、规范等方面的要求。XAI可以帮助我们更好地理解AI系统的决策和行为,从而为制定相关规范和政策提供依据,推动AI技术的健康发展。

        未来,我们需要继续探索更先进的XAI技术,以提高AI系统的可解释性和透明度。同时,我们还需要解决一些挑战,例如:

  1. 如何平衡可解释性和预测性能之间的矛盾。

  2. 如何在处理大型、复杂数据集时提高解释器的效率和准确性。

  3. 如何应对对抗性攻击和隐私泄露等问题。

        为了解决这些挑战,我们需要加强学术界和工业界之间的合作,共同推动XAI技术的发展,并探索新的研究方向,以提高AI系统的可解释性和透明度,促进AI技术的健康发展。

下面是一个使用SHAP(Shapley Additive Explanations)技术来解释深度神经网络模型的示例代码:

import numpy as np
import tensorflow as tf
import shap
​
# 加载数据集
data = tf.keras.datasets.mnist.load_data()
X_train, y_train = data[0]
X_test, y_test = data[1]
​
# 构建深度神经网络模型
model = tf.keras.Sequential([tf.keras.layers.Flatten(input_shape=(28, 28)),tf.keras.layers.Dense(128, activation='relu'),tf.keras.layers.Dense(10)
])
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5)
​
# 初始化解释器
explainer = shap.DeepExplainer(model, X_train[:100])
​
# 选择一条测试样本进行解释
sample_idx = 0
sample = X_test[sample_idx]
​
# 解释该样本的预测结果
explanation = explainer.shap_values(sample.reshape(1, -1))
​
# 可视化解释结果
shap.image_plot(explanation, -sample.reshape(1, 28, 28))

        上述代码使用了tensorflow库加载MNIST数据集,并使用Sequential模型构建了一个深度神经网络模型。接下来,我们使用shap.DeepExplainer初始化了一个解释器,并传入训练数据。然后,我们选择一条测试样本进行解释,并使用shap_values方法来解释该样本的预测结果。最后,我们使用shap.image_plot方法将解释结果可视化展示出来。

        SHAP技术通过对每个特征的影响进行分析来解释深度神经网络模型的决策过程。它通过对样本空间进行采样,生成类似的数据集,并使用这些数据集计算每个特征的Shapley值,从而解释原始样本的预测结果。在解释器中,我们使用shap.DeepExplainer来初始化一个解释器,并使用shap_values方法来解释样本的预测结果。

        解释结果的可视化展示了特征的重要性和对预测结果的影响程度。在每个特征的解释中,我们可以看到特征的权重以及对应的预测结果的变化。这些解释可以帮助我们理解深度神经网络模型是如何根据特征进行决策的,从而提高模型的可解释性。

通过使用XAI技术(如SHAP)解释深度神经网络模型,我们可以获得以下好处:

  1. 特征重要性解释:解释器会根据特征的Shapley值显示出每个特征对预测结果的重要性,帮助我们理解模型是如何利用不同特征进行决策的。

  2. 决策可信度评估:解释器可以提供对预测结果的置信度评估,帮助我们判断模型的决策是否可靠。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐系统|排序_融合预估分数

因为点赞率、收藏率和转发率是不同维度的数据,需要将其整合成一个数据,从而方便比较。 方法就是乘上对应的权重。而点赞、收藏和转发都是发生在点击之后的,也就是说会有先后的关系,概率会以乘的形式出现。 特殊的,当…

2023爱分析·数据智能厂商全景报告|爱分析报告

利用多种数据智能技术实现数据驱动的分析与决策,已经成为当前企业数字化转型最重要的目标之一。随着数据来源日益丰富、数据体量快速增长,企业对数据的依赖和挖掘愈发深入,不仅带来数据应用场景、数据用户角色的复杂和多元,也使得…

【MATLAB源码-第131期】基于matlab的淘金优化算法(GRO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 淘金优化算法(GoldRush Optimizer,简称GRO)是一种启发式优化算法,它受到淘金过程的启发。在淘金过程中,淘金者在河流或矿区中寻找金矿,通过筛选沙砾来寻…

在 WLC上配置WPA2-Enterprise WLAN

实验大纲 第1部分:创建一个新的WLAN 第1步:创建一个新的VLAN接口 第2步:配置WLC让它使用RADIUS服务器 第3步:创建一个新的WLAN 第4步:配置WLAN安全策略 第2部分:配置DHCP范围和SNMP 第1步&#xff1…

基于SpringBoot+Vue学科竞赛管理系统(详细讲解及源码资料)

文章目录 基于SpringBootVue学科竞赛管理系统1系统概述1.3系统设计思想 2相关技术2.1 MYSQL数据库2.2 B/S结构2.3 Spring Boot框架简介2.4 Vue简介 3系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性 3.2系统性能分析3.2.1 系统安全性3.2.2 数据完整性 3.4…

Spring结合工厂模式

学习设计模式,不要进入一个误区生搬硬套,它是一种编程思想,结合实际使用,往往设计模式是混合使用的 工厂模式 核心本质:使用工厂统一管理对象的创建,将调用者跟实现类解耦 我这里使用Spring容器的支持&am…

GPT-5的功能界面曝光。。。

最近网络上流传的照片是否真实尚不可知,我们需要进一步的核实与分析。 GPT-5的预期发布已经引起了业界的极大关注。根据Roemmele的透露,GPT-5将是一个革命性的多模态模型,能够支持语音、图像、编程代码和视频等多种格式,这标志着…

【XR806开发板试用】全志 XR806 OpenHarmony 鸿蒙系统固件烧录

大家好,我是极智视界,本教程详细记录了全志 XR806 OpenHarmony 鸿蒙系统固件烧录的方法。 在上一篇文章《【嵌入式AI】全志 XR806 OpenHarmony 鸿蒙系统固件编译》中咱们已经编译生成了系统镜像,这里把这个编译出来的镜像烧录到 XR806 板子里…

华为云幻兽帕鲁服务器搭建教程

华为云作为国内领先的云服务提供商,提供了丰富的云服务产品和解决方案,本文将介绍基于华为云服务器搭建幻兽帕鲁服务器,助力大家快速部署属于自己的游戏联机服务器! 第一步:购买服务器 华为云推出了游戏联机服务专用便…

Elasticsearch Windows版安装配置

Elasticsearch简介 Elasticsearch是一个开源的搜索文献的引擎,大概含义就是你通过Rest请求告诉它关键字,他给你返回对应的内容,就这么简单。 Elasticsearch封装了Lucene,Lucene是apache软件基金会一个开放源代码的全文检索引擎工…

Spark入门01-Spark简介

1 Spark是什么 Spark是用于大规模数据处理的统一分析引擎。对任意类型的数据进行自定义计算。 可以计算:结构化、非结构化,半结构化的数据结构,支持使用Python,Java,Scala、Sql语言开发应用程序计算数据。 计算框架&a…

一文掌握SpringBoot注解之@Configuration知识文集(1)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

STM32G4 系列命名规则

STM32G4产品线 基础型系列STM32G4x1 具有入门级模拟外设配置,单存储区Flash,支持的Flash存储器容量范围从32到512KB。 增强型系列STM32G4x3 与基本型器件相比具有更多数量的模拟外设,以及双存储区Flash,Flash存储器容量也提高…

Docker 入门第一篇 安装Docker Desktop并结合Springboot在Idea中应用

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期专栏回顾 专栏描述…

ISCTF wp

web 圣杯战争 题目源码 <?php highlight_file(__FILE__); error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择了对的武器!<br>";return $this->excalibuer->arrow;} }class pre…

web项目部署,一篇就搞定!

web部署的方式有很多&#xff0c;根据开发方式不同&#xff0c;部署方式也不同。最通用是docker部署&#xff0c;这个想必大家都熟悉。我们今天说另外一种。 部署过程 1、验证Jdk是否安装成功 2、验证Tomcat是否安装成功 3、验证Navicat 是否能连上数据库 4、创建数据库并导入…

JVM篇----第十八篇

系列文章目录 文章目录 系列文章目录前言一、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?二、对象分配规则三、描述一下JVM加载class文件的原理机制?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…

【网络安全】2024年暗网威胁分析及发展预测

暗网因其非法活动而臭名昭著&#xff0c;现已发展成为一个用于各种非法目的的地下网络市场。 它是网络犯罪分子的中心&#xff0c;为被盗数据交易、黑客服务和邪恶活动合作提供了机会。为了帮助企业组织更好地了解暗网发展形势&#xff0c;近日&#xff0c;卡巴斯基的安全研究…

FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮

在数字化浪潮席卷全球的今天&#xff0c;网络安全问题愈发凸显其重要性。 FCIS 2023网络安全创新大会作为业界瞩目的盛会&#xff0c;不仅汇聚了国际顶尖的网络安全专家&#xff0c;更展示了最前沿的安全技术与研究成果。那么&#xff0c;参与这场大会&#xff0c;我们究竟能学…

2023年度统计DDoS攻击峰值暴增,如何选择合适的防护方式将为2024年的重点(DexunCloud)

进入 2024 年&#xff0c;发布了最新的 2023 年第三、四季度&#xff08;Q3-Q4&#xff09; DDoS 攻击趋势报告&#xff0c;指出 DDoS 攻击的规模和复杂性都有了惊人增长。 DexunCloud发现过去三年&#xff0c;DDoS 峰值攻击流量每年的增幅都超过了 100%&#xff0c;2021 年 D…