From e3b4bcd98b98a985244f8ede84d1ef9d68743051 Mon Sep 17 00:00:00 2001 From: pat-alt <altmeyerpat@gmail.com> Date: Sat, 22 Apr 2023 12:33:40 +0200 Subject: [PATCH] getting somewhere --- Manifest.toml | 2 +- notebooks/Manifest.toml | 2 +- notebooks/Project.toml | 3 ++- notebooks/mnist.qmd | 25 ++++++++----------------- src/penalties.jl | 4 +++- www/eccco_mnist.png | Bin 20659 -> 20963 bytes 6 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 06b80abd..94341154 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -785,7 +785,7 @@ uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" version = "1.12.0" [[deps.JointEnergyModels]] -deps = ["ChainRulesCore", "ComputationalResources", "Distributions", "Flux", "MLJFlux", "MLJModelInterface", "MLUtils", "PkgTemplates", "ProgressMeter", "Random", "StatsBase", "Tables"] +deps = ["ChainRulesCore", "ComputationalResources", "Distributions", "Flux", "MLJFlux", "MLJModelInterface", "PkgTemplates", "ProgressMeter", "Random", "StatsBase", "Tables"] path = "../JointEnergyModels.jl" uuid = "48c56d24-211d-4463-bbc0-7a701b291131" version = "0.1.0" diff --git a/notebooks/Manifest.toml b/notebooks/Manifest.toml index 567a5edf..4c077ed9 100644 --- a/notebooks/Manifest.toml +++ b/notebooks/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.5" manifest_format = "2.0" -project_hash = "b4b125f21013c1ac841e2bb761cd8922630f9f03" +project_hash = "53181f00a1b7318c04c79643b4b4b157e79df8f9" [[deps.AbstractFFTs]] deps = ["ChainRulesCore", "LinearAlgebra"] diff --git a/notebooks/Project.toml b/notebooks/Project.toml index 9d63873a..180fcaf4 100644 --- a/notebooks/Project.toml +++ b/notebooks/Project.toml @@ -1,6 +1,5 @@ [deps] AlgebraOfGraphics = "cbdf2221-f076-402e-a563-3d30da359d67" -ECCCo = "0232c203-4013-4b0d-ad96-43e3e11ac3bf" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" CategoricalDistributions = "af321ab8-2d2e-40a6-b165-3d674595d28e" @@ -8,7 +7,9 @@ Chain = "8be319e6-bccf-4806-a6f7-6fae938471bc" ConformalPrediction = "98bfc277-1877-43dc-819b-a3e38c30242f" CounterfactualExplanations = "2f13d31b-18db-44c1-bc43-ebaf2cff0be0" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" +ECCCo = "0232c203-4013-4b0d-ad96-43e3e11ac3bf" Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0" JointEnergyModels = "48c56d24-211d-4463-bbc0-7a701b291131" diff --git a/notebooks/mnist.qmd b/notebooks/mnist.qmd index 0939ebd0..b4fb8b77 100644 --- a/notebooks/mnist.qmd +++ b/notebooks/mnist.qmd @@ -32,7 +32,7 @@ First, let's create a couple of image classifier architectures: # Model parameters: epochs = 100 batch_size = minimum([Int(round(n_obs/10)), 128]) -n_hidden = 50 +n_hidden = 128 activation = Flux.swish builder = MLJFlux.@builder Flux.Chain( @@ -71,7 +71,7 @@ mlp = NeuralNetworkClassifier( sampler = ConditionalSampler( ð’Ÿx, ð’Ÿy, input_size=(input_dim,), - batch_size=10 + batch_size=1 ) jem = JointEnergyClassifier( sampler; @@ -131,24 +131,15 @@ println("F1 score (test): $(round(f1,digits=3))") ``` ```{julia} -ð’Ÿx = Uniform(-1,1) -ð’Ÿy = Categorical(ones(K) ./ K) -sampler = UnconditionalSampler(ð’Ÿx; input_size=(D,)) -conditional_sampler = ConditionalSampler(ð’Ÿx, ð’Ÿy; input_size=(D,)) -opt = ImproperSGLD() -n_iter = 100 -``` - -```{julia} -# Random.seed!(1234) +Random.seed!(1234) # Set up search: -factual_label = 8 +factual_label = 9 x = reshape(counterfactual_data.X[:,rand(findall(predict_label(M, counterfactual_data).==factual_label))],input_dim,1) -target = 3 +target = 4 factual = predict_label(M, counterfactual_data, x)[1] γ = 0.5 -T = 100 +T = 250 η=1.0 @@ -168,8 +159,8 @@ ce_jsma = generate_counterfactual( ) # ECCCo: -λ=[0.0,1.0,10.0] -temp=0.01 +λ=[0.1,0.1,0.1] +temp=0.1 # Generate counterfactual using ECCCo generator: generator = ECCCoGenerator( diff --git a/src/penalties.jl b/src/penalties.jl index e9af36f1..ccd1c8a9 100644 --- a/src/penalties.jl +++ b/src/penalties.jl @@ -1,4 +1,5 @@ using ChainRules: ignore_derivatives +using Distances using LinearAlgebra: norm using Statistics: mean @@ -50,7 +51,8 @@ function distance_from_energy( x′ = CounterfactualExplanations.counterfactual(ce) loss = map(eachslice(x′, dims=ndims(x′))) do x Δ = map(eachcol(conditional_samples[1])) do xsample - norm(x - xsample) + # 1 .- (x'xsample)/(norm(x)*norm(xsample)) + norm(x - xsample, 1) end return mean(Δ) end diff --git a/www/eccco_mnist.png b/www/eccco_mnist.png index 8c8f3a1869c09a98aafb4cfdb94a5b4f09bf041c..edd2100307beb05f2b55511561bad5a4df0ad9f2 100644 GIT binary patch literal 20963 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 literal 20659 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 E2M9-}$N&HU -- GitLab