Kwaliteit en relevantie van feedback meten

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Toepassing: afwijkende feedback detecteren

Bijvoorbeeld:

  • Positieve review:
    • "Ik vond dit product geweldig!"
  • Negatieve review:
    • "Vreselijke service."
  • Neutrale review:
    • "Doet wat het moet doen."
  • Uitschieter-review:
    • "De lucht is blauw."

Een beoordeling van vier van de vijf sterren met een hand die een vijfde ster toevoegt

Reinforcement Learning from Human Feedback (RLHF)

Afwijkende feedback detecteren

import numpy as np
def least_confidence(prob_dist):
    simple_least_conf = np.nanmax(prob_dist) 
    num_labels = float(prob_dist.size)  # aantal labels
    least_conf = (1 - simple_least_conf) * (num_labels / (num_labels - 1))
    return least_conf
def filter_low_confidence_predictions(prob_dists, threshold=0.5):
    filtered_indices = [i for i, prob_dist in enumerate(prob_dists) 
                        if least_confidence(prob_dist) > threshold]
    return filtered_indices
Reinforcement Learning from Human Feedback (RLHF)

Afwijkende feedback detecteren

prob_distribution_array = np.array([
    [0.1, 0.1, 0.2],   # Lage zekerheid (0.2)
    [0.6, 0.2, 0.1],   # Hoge zekerheid (0.6)
    [0.3, 0.3, 0.4]   # Gemiddelde zekerheid (0.4)
])

# Filterfunctie met drempel 0.5 filtered_feedback_indices, filtered_confidences = filter_low_confidence_predictions(prob_distribution_array, threshold=0.5)
print(f"Gefilterde zekerheden: {filtered_confidences}")
Gefilterde zekerheden: [0.6]
Reinforcement Learning from Human Feedback (RLHF)

K-means

  • Goed voor anomaliedetectie en snel te implementeren
  • Bepaal het aantal clusters met domeinkennis of analytische methoden

Een diagram van het k-means-algoritme.

Reinforcement Learning from Human Feedback (RLHF)

Anomaliedetectie met k-means

import numpy as np
import pandas as pd
from sklearn.cluster import KMeans


def detect_anomalies(data, n_clusters=3): kmeans = KMeans(n_clusters=n_clusters, random_state=42) clusters = kmeans.fit_predict(data) centers = kmeans.cluster_centers_
# Afstanden tot clustercentra berekenen distances = np.linalg.norm(data - centers[clusters], axis=1) return distances
Reinforcement Learning from Human Feedback (RLHF)

Anomaliedetectie met k-means

feedback_data = np.array([
    [4.0],  # Dicht bij het clustercentrum
    [4.5],  # Dicht bij het clustercentrum
    [1.0],  # Anomalie - ver van de hoofdmoot
    [4.1],  # Dicht bij het clustercentrum
    [3.9]  # Dicht bij het clustercentrum
])

anomalies = detect_anomalies(confidences, n_clusters=1)
print(anomalies)
[0.5 1.  2.5   0.6 0.4]
Reinforcement Learning from Human Feedback (RLHF)

Laten we oefenen!

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...