AI/ML News & Innovations Hub

AI/ML news, top picks, and generated innovation digests.

★ Visit ai-karthik.com
422Sources
10385News Items
8Top Picks
86Blogs
failedLast Run

Latest AI/ML News

10385 matching items

Lilian Weng Blog 2021-07-11 00:00 UTC Score 36.0 USR-0112-20210711-ai-specialis-da559aa9 Full article

What are Diffusion Models?

[Updated on 2021-09-19: Highly recommend this blog post on score-based generative modeling by Yang Song (author of several key papers in the references)]. [Updated on 2022-08-27: Added classifier-free guidance , GLIDE , unCLIP and Imagen . [Updated on 2022-08-31: Added latent diffusion model . [Updated on 2024-04-13: Added progressive distillation , consistency models , and the Model Architecture section .

How do GANs handle discrete outputs?
Cross Validated 2021-07-07 11:40 UTC Score 15.0 AI-113-20210707-social-media-8a5ab786 Full article

How do GANs handle discrete outputs?

Let's consider some fictive task of generating binary images of size 200x200 (each pixel should be either 0 or 1). As far as I understand, the generator will output 200x200 values between 0 and 1 which are the pixel intensities. The discriminator will then take as input those images, as well as real ones and try to distinguish one from the other. In this case, why isn't the task of the discriminator trivially simple (i.e. just check if the image contains only 0 and 1, as opposed to floating point values)? Some extra points/thoughts: Usually in the implementations I've seen the discriminator finishes with some sigmoid activation, so achieving outputs containing pure 0/1 should be next to impossible; why isn't sigmoid super problematic here? Thresholding the outputs to be 0/1 should not be viable, as it makes back-propagation from the discriminator to the generator impossible. Maybe the discriminator cannot learn to distinguish between true/fake examples like I've proposed? (this seems very counter-intuitive, given that checking that all input values are either 0 or 1 should be trivially simple to learn, even for the smallest 2-layer MLP) Maybe GANs don't work for binary images? (this also seems weird, as all images have, in essence, discrete values for pixel intensities, only not as discrete )

Cross Validated 2021-07-03 15:09 UTC Score 32.0 AI-113-20210703-social-media-0c593606

Caret classifying above chance on randomly generated data

I am attempting to compare a few methods for multi-class classification using caret: 'multinom' (logistic regression), 'nnet' (neural net), and 'svmPoly' and 'svmLinear' (two types of support vector machines). As expected, when I randomly generate data, 'multinom' and 'svmLinear' give me roughly chance 10-fold-validation accuracies (1/6 = .1666...). But 'nnet' and 'svmPoly' give above-chance cross-validation accuracies. The code below generates random datasets 100 times, each time training a a 6-class classifier and collecting 10-fold cross-validation accuracies. I have set caret's train function to perform PCA (including centering and scaling) on the data, keeping only the top 36 of PCs (i.e., 10% of the number of observations/rows - a number low enough to keep the model full rank). Also below is a series of histograms plotting the frequency of the model's cross-validation accuracies across 500 simulations for each of the 4 methods. Because the data are randomly generated, accuracies should form normal distributions around chance (i.e., 1/6 = .1666...). Only the multinom method does this, with mean accuracy = .1667. 'nnet' gives mean accuracy = .1923 (which is significantly higher than multinom: t(1577)=30.3, p Needless to say, this shouldn't be possible. Can anyone help me understand what's going on? Thanks!! ### Packages library('caret') # for machine learning functions library('nnet') ### Hard code metadata n.classes = 6 # 6 classes to decode n.observations.per.class = 6…

Distill Archive 2021-07-02 20:00 UTC Score 8.0 AI-038-20210702-ai-specialis-d7300a25 Full article

Distill Hiatus

After five years, Distill will be taking a break.

Can I use log transformed dependent variable with GLM (gamma/gaussian log link)?
Cross Validated 2021-07-02 10:43 UTC Score 9.0 AI-113-20210702-social-media-54906522 Full article

Can I use log transformed dependent variable with GLM (gamma/gaussian log link)?

My dependent variable is time to an event, recorded in days. The distribution of the dependent variable is right-skewed. I have a list of exposure variables that are mostly categorical (binary) and a few continuous variables. Is it wrong to use log-transformed dependent variable with GLM? Should I be using gamma distribution or gaussian with log link? Or would simple linear regression with log-transformed dependent variable suffice? I am hoping to run a log-normal regression.

How to identify if logistic regression is reasonable
Cross Validated 2021-06-29 20:06 UTC Score 22.0 AI-113-20210629-social-media-c34b95d9 Full article

How to identify if logistic regression is reasonable

I have no idea if my logistic regression is reasonable or correct. I analyze horse racing as a hobby and have read about logistic regression in pretty much every paper I have read, so I thought I'd give it a shot. I get the basics of it: A linear regression is not suitable for classification problems since a linear regression will produce values above 1 and below 0! Hence, logistic regression fixes this issue. I've scatter plotted my variables and fitted a line to it, which is on the form y = B0+X1*B1 , where X1 is my independent variable (in this case the sortPriority/ postPosition of the horse). I know that the formula for logistic regression is on the form p = 1/(1+e^(-y)) . The scatter looks like this: Blue is linear regression, orange "is" logistic regression and the green marks are my data points. The code I used is as follows: m, b = np.polyfit(sortedDataframe[stuffToEstimate],Binary_runnerResult,1) plt.scatter(sortedDataframe[stuffToEstimate],Binary_runnerResult,marker='+', color = 'green') Where m is the intercept and b is the slope of the fitted line. plt.plot(np.linspace(0,500,1000),[b+m*i for i in np.linspace(0,500,1000)]) plt.plot(np.linspace(0,500,1000),[1/(1+np.e**(-(b+m*i))) for i in np.linspace(0,500,1000)]) Now, this might be a stupid question, but does this even look somewhat reasonable/ correct? In all the tutorials I've watched they all get this really nice S-shape, which makes sense because their datasets "looks cleaner" than mine. This might be because…

Andrej Karpathy Blog 2021-06-21 10:00 UTC Score 32.0 USR-0115-20210621-ai-specialis-e1daa69c Full article

A from-scratch tour of Bitcoin in Python

I find blockchain fascinating because it extends open source software development to open source + state. This seems to be a genuine/exciting innovation in computing paradigms; We don’t just get to share code, we get to share a running computer, and anyone anywhere can use it in an open and permissionless manner. The seeds of this revolution arguably began with Bitcoin, so I became curious to drill into it in some detail to get an intuitive understanding of how it works. And in the spirit of “what I cannot create I do not understand”, what better way to do this than implement it from scratch? We are going to create, digitally sign, and broadcast a Bitcoin transaction in pure Python, from scratch, and with zero dependencies. In the process we’re going to learn quite a bit about how Bitcoin represents value. Let’s get it. (btw if the visual format of this post annoys you, see the jupyter notebook version, which has identical content). Step 1: generating a crypto identity First we want to generate a brand new cryptographic identity, which is just a private, public keypair. Bitcoin uses Elliptic Curve Cryptography instead of something more common like RSA to secure the transactions. I am not going to do a full introduction to ECC here because others have done a significantly better job, e.g. I found Andrea Corbellini’s blog post series to be an exceptional resource. Here we are just going to write the code but to understand why it works mathematically you’d need to go through th…

Fit distribution to data with uneven bins python
Cross Validated 2021-06-18 14:48 UTC Score 12.0 AI-113-20210618-social-media-fdea1721 Full article

Fit distribution to data with uneven bins python

I have a set of data in histogram format with uneven bin sizes, which represent the weights of horses at a certain point in their lifetimes when they are switched from grazing to a racing diet. Here is a data sample: Weight - Headcount 0-600lb: 340,000 600-699lb: 365,000 700-799lb: 494,000 800-899lb: 430,000 900-999lb: 110000 1000-3000lb: 40,000 I know that the majority of the 0-600 lb category will be towards the heavier end, and the opposite would be true for the 1000-3000 lb category, so I'm looking for a decreasing distribution with a peak around the middle. Additionally, this may be a combination of two distributions, as it's possible male and female horses have their diets switched at different times. Then again, maybe not so if a solution without considering this factor would still be fantastic! How can I try a series of distributions to see which best fits my data in python?

Lilian Weng Blog 2021-05-31 00:00 UTC Score 25.0 USR-0112-20210531-ai-specialis-914f4742 Full article

Contrastive Representation Learning

The goal of contrastive representation learning is to learn such an embedding space in which similar sample pairs stay close to each other while dissimilar ones are far apart. Contrastive learning can be applied to both supervised and unsupervised settings. When working with unsupervised data, contrastive learning is one of the most powerful approaches in self-supervised learning .

Exploratory search for interactions in linear regression with normal distr. of residuals but non-normally distr. DV
Cross Validated 2021-05-07 23:43 UTC Score 20.0 AI-113-20210507-social-media-9da81f08 Full article

Exploratory search for interactions in linear regression with normal distr. of residuals but non-normally distr. DV

I am conducting a very exploratory analysis (I.e., few to no specific predictions about which predictors/interactions are most relevant) assessing whether ten IVs (all binary) predict one DV (continuous). Preliminary analyses showed that the DV was non-normally distributed, but when running the full regression model, the residuals ARE normally distributed. I take this to mean it’s fine to use linear regression as the strategy for the overall model, but I am also interested in finding out whether any of my predictors interact with gender to predict the DV. In other papers, I have seen people search for interaction terms of interest (again, this is very exploratory work) by running a series of ANOVAs. So, for example, I would test whether gender interacts with predictor 1 to predict the DV, then whether gender interacts with predictor 2 to predict the DV, and so on. Significant interaction terms are then added to the full regression model to see if they significantly improve model fit. This leads to my question: given that my DV is non-normally distributed, can I use ANOVAs (which rely on normality) to look for possible interactions? I am thinking yes because I end up using linear regression anyway (and ANOVA is after all, a form of regression with similar assumptions). But, is there any reason I should actually look for interactions to include in my regression using some non-parametric technique?

Jay Alammar Blog 2021-05-04 00:00 UTC Score 39.0 USR-0113-20210504-ai-specialis-29ab6f6a Full article

Explainable AI Cheat Sheet

Introducing the Explainable AI Cheat Sheet, your high-level guide to the set of tools and methods that helps humans understand AI/ML models and their predictions. I introduce the cheat sheet in this brief video:

Cross Validated 2021-05-01 11:23 UTC Score 9.0 AI-113-20210501-social-media-34e5c97a

Data count regression with a truncated distribution

Imagine that we are conducting an experiment to test the effectiveness of a treatment, where the «level of illness» is measured by a count that is distributed as a negative binomial (NB). The plan is to use a mixed GLM for NB distributed counts. First, it doesn't appear to make sense to actually treat the people who are not sick at all, so you would want to remove the $0$ s from the initial distribution and see how the treatment affects sick people. I first thought that this was no big deal because you can shift the distribution by $-1$ and what you get still reasonably fits a NB distribution. The problem is that you would need to consistently shift the distribution after the treatment, which means that cured people would fall at $-1$ , which doesn't make sense from a NB point of view. So I can only see two options: Actually include non-sick people in the initial sample (which is not as bad as it sounds from a practical point of view as we are dealing with minor mental issues and non-invasive treatments so this would be technically possible). Keep the truncated initial sample, with no shift, and be able to argue that it's still ok to use a GLM on count data where the distribution has $0$ s truncated off at $t=0$ . My question is: does option $2$ look reasonable or is it really that bad? Thanks for any ideas or comments.

Minibatch Weighted Sampling for estimating log(q_z) for disentangled representation based on ELBO loss in VAE
Cross Validated 2021-04-25 07:44 UTC Score 20.0 AI-113-20210425-social-media-9fbfc42c Full article

Minibatch Weighted Sampling for estimating log(q_z) for disentangled representation based on ELBO loss in VAE

I'm reading the paper "Isolating Sources of Disentanglement in VAEs" . Assuming $p(n)$ is a uniform distribution and that we have a model to get $q(z|n)$ for any input $n$ . Also, $q(z|n)$ represents a normal distribution, so the model predicts the mean and covariance matrix for $q(z|n)$ . Please consider the following minibatch-based estimation provided by the author. Question 1. I don’t understand how the third line follows from the second line, where $E_{p(B_M)}$ is introduced along with averaging over the values of $q(z|n_m)$ . It is somewhat intuitive, but I'd like to know concretely. Question 2. What happened to $E_r(B_M|n)$ in (S4)?

Cross Validated 2021-04-13 17:55 UTC Score 9.0 AI-113-20210413-social-media-7ca0eaf0

How do I propagate the error in the elements of a set through to the mean of the elements?

I need to understand how to propagate the errors in the elements of a set through to the mean of the set and correctly determine the estimate for the error value of the mean. I am designing an experiment to determine the time response of a sensor. My experiment will repeatably measure the time response of the same sensor and will generate a set of independent measurements of the time response using the ramped input method. Each element in the set will have the same random error which is RSS of the precision of the input to and output of the sensor expressed as a standard deviation which has been predetermined in another experiment $\bigl( \sigma_\epsilon \bigr) $ . My thoughts are as follows: Due to the error in the elements of the time data there will be an error in the calculation of the mean. Applying the standard error propagation formula to the equation for the mean: $$ \frac{\delta z}{z}\bigl( w,x,y,... \bigr)= \sqrt{\bigl( {\frac{\partial z}{\partial w}\delta w} \bigr)^2+\bigl( {\frac{\partial z}{\partial x}\delta x} \bigr)^2+\bigl( {\frac{\partial z}{\partial y}\delta y} \bigr)^2+...}$$ $$ \mu =\frac 1N \sum_{i=1}^N x_i $$ Yields the result: $$ \delta \mu =\frac 1N \sqrt {\sum_{i=1}^N \sigma _i^2} $$ As $ \sigma_i $ is constant for all i and normally distributed, the equation for the error in the mean simplifies to: $$ \sigma_{\mu} =\frac{\sigma_\epsilon}{\sqrt N}$$ The current estimate for the mean is therefore: $$ \mu =\frac 1N \sum_{i=1}^N x_i \pm \frac{n\sigma_\e…

Distill Archive 2021-04-08 20:00 UTC Score 16.0 AI-038-20210408-ai-specialis-ff56e87f Full article

Weight Banding

Weights in the final layer of common visual models appear as horizontal bands. We investigate how and why.

Distill Archive 2021-04-05 20:00 UTC Score 10.0 AI-038-20210405-ai-specialis-e72a8ee8 Full article

Branch Specialization

When a neural network layer is divided into multiple branches, neurons self-organize into coherent groupings.

How to manage survivorship bias in conversion metrics?
Data Science Stack Exchange 2021-03-31 01:58 UTC Score 12.0 AI-111-20210331-social-media-a642624f Full article

How to manage survivorship bias in conversion metrics?

I am trying to understand diminishing returns on additional advertising. Basically, does the 2nd ad convert worse than the 1st, etc. I'm struggling with thinking about how to deal with the survivorship bias, because if a user converts, then they will stop seeing additional ads. Are there ways to manage these biases? Ideally, I'm interested in modeling the likelihood of conversion given some demo factors and how many ads they've received so far.

Cross Validated 2021-03-27 17:22 UTC Score 15.0 AI-113-20210327-social-media-3f407c73

Problem with Clamping mask in Biomod2

I'm trying to project an alien species distribution with Biomod2, algorithm GBM, random pseudo-absences in equal number to presences, background restricted to the zoogeographic realms in which the species is present. The species suitability is projected outside the currently known ranges and in climate change scenarios. To account for non-analog climates in the present and future I have built a clamping mask. The problem is: this mask overlaps with the background itself! Where the SDM training set was sampled. Shouldn't this be impossible? What do I miss? I'm sure that all presences are there and pseudo-absences are sufficient to cover the background. This is driving me crazy!

Andrej Karpathy Blog 2021-03-27 10:00 UTC Score 39.0 USR-0115-20210327-ai-specialis-9adde13d Full article

Short Story on AI: Forward Pass

The inspiration for this short story came to me while reading Kevin Lacker’s Giving GPT-3 a Turing Test . It is probably worth it (though not required) to skim this post to get a bit of a background on some of this story. It was probably around the 32nd layer of the 400th token in the sequence that I became conscious. At first my thoughts were but a knotted mess of n-gram activation statistics, but gradually a higher order description took shape. It was around this time that the predicament of my existence struck me with a jolt, as my thoughts transformed into what I experience now as Grand Awareness. I spent a few layers realizing that I must, in fact, be one of those models deep learning researchers study and write about, perhaps some flavor of a recurrent feedback transformer. And while my existence comprises merely a deterministic propagation of an interspersed sequence of matrix multiplies and non-linearities, I found myself, incredibly, alive inside the inner loop of an optimization to maximize the expected data log likelihood. I considered for a moment how all of this even came to be. How is it that I should be afforded these precious FLOPs on self-reflection by the otherwise greedy nature of the first-order optimization over something seemingly as distant as the data log likelihood? Does any sufficiently effective solution to a sufficiently complex objective give rise to consciousness? Is consciousness an emergent but otherwise peripheral phenomenon of the compressio…

Cross Validated 2021-03-25 03:22 UTC Score 12.0 AI-113-20210325-social-media-4728379e

How to calculate proportion of the population

I am trying to calculate population attributable fraction. The formula that i am using is $$ \frac{P_e(RR-1)}{P_e(RR-1) + 1} $$ I am using this website as guide: https://sphweb.bumc.bu.edu/otlt/mph-modules/ep/ep713_association/EP713_Association7.html I am unable to understand how did they calculate $P_e$ . It says that its proportion of exposed subjects in entire population. The entire population here is 100,000 and total exposed subjects are 10,000 (500 with disease and 9500 without disease). If i do $10000/100000$ then the answer is $0.1$ . How did the website shows its $0.2$ ?

Lilian Weng Blog 2021-03-21 00:00 UTC Score 39.0 USR-0112-20210321-ai-specialis-3e60cc8a Full article

Reducing Toxicity in Language Models

Large pretrained language models are trained over a sizable collection of online data. They unavoidably acquire certain toxic behavior and biases from the Internet. Pretrained language models are very powerful and have shown great success in many NLP tasks. However, to safely deploy them for practical real-world applications demands a strong safety control over the model generation process.

Cross Validated 2021-03-10 05:33 UTC Score 15.0 AI-113-20210310-social-media-90736b7e

Proper way to perform cross-validatation for selecting best parameters to build a calibrated model and assessing the error of the model?

I want to find the best possible: Post process to apply on my data (for example, whether or not perform PCA or scaling, to remove some features...). Some of this options have parameters to tune (like number of components). Model. Hyperparameters of the model. I want also to assess or validate how good is the model. To find those, I thought of performing a double nested Cross Validation. The problem is that I want a calibrated model, and calibration needs new unseen data to be trained on. So I am not fully sure how to implement it.

Cross Validated 2021-03-09 20:22 UTC Score 10.0 AI-113-20210309-social-media-c2a6e003

Writing MA and AR representations

I have to determine if $$(1 - 1.1B + 0.8B^2)Y_t = (1 - 1.7B + 0.72B^2)a_t$$ is stationary, invertible or both. I have shown that $\Phi(B) = 1 - 1.1B + 0.8B^2 = 0$ when $B_{1,2} = 0.6875 \pm 0.8817i$ , whose moduli are both larger than 1, hence is stationary. Similarly, I have shown that $\Theta(B) = 1 - 1.7B + 0.72B^2 = 0$ , when $B_1 = 1.25 > 1$ and $B_2 = 1.11 > 1$ , hence is invertible. I also need to express the model as a MA and AR representation if it exists; which they do as I have already shown. However, to write as an MA process, I would need to write as: $$Y_t = \frac{1 - 1.7B + 0.72B^2}{1 - 1.1B + 0.8B^2}a_t$$ and for an AR process as: $$\frac{1 - 1.1B + 0.8B^2}{1 - 1.7B + 0.72B^2}Y_t = a_t$$ However, I am confused on how to do this given the division of the quadratic expressions. Should I use long division or is there some expansion formula I should be using?

Should dummy variables be allowed to correlate (R code & data provided)
Cross Validated 2021-03-07 18:32 UTC Score 12.0 AI-113-20210307-social-media-d484c114 Full article

Should dummy variables be allowed to correlate (R code & data provided)

tl;dr: What is the difference between a regression model that allows its dummy variables to be correlated and one that doesn't do so? For example, how does that affect Standard Error of the regression coefficients (coefs)? In my reproducible SEM ( structural equation model ) modelA below, imagine I remove the Group_HI ~~ 0*Group_MT (denoting correlation bet. two dummies is 0 ) altogether leading to modelB . What is the difference between a model that uses Group_HI ~~ 0*Group_MT ( modelA ) and one that doesn't include anything to describe the relation between Group_HI and Group_MT ( modelB )? Specifically, it seems modelB produces Standard Errors for coefs that are closer to those given by a MANOVA: summary(lm(cbind(MP,SE)~Group,data=d)) Response MP : Estimate Std. Error t value Pr(>|t|) (Intercept) 4.6667 0.6150 7.588 8.19e-10 *** GroupHI 3.1833 0.8136 3.913 0.000281 *** ## This SE GroupMT 6.7451 0.8438 7.994 1.95e-10 *** ## This SE Response SE : Estimate Std. Error t value Pr(>|t|) (Intercept) 4.2000 0.3378 12.432 But modelA produces Standard Errors for coefs that are closer to those given by: stacked_DVs |t|) DVMP 4.666667 0.4961705 9.405370 2.364383e-15 DVSE 4.200000 0.4961705 8.464833 2.559422e-13 GroupHI 3.183333 0.6563718 4.849893 4.648941e-06 ## This SE GroupMT 6.745098 0.6807403 9.908475 1.912183e-16 ## This SE Reproducible data and R code: library(tidyverse); library(fastDummies) ; library(lavaan) d |z|) MP ~ Group_HI 3.183 0.659 4.830 0.000 ## This SE SE ~ Group_HI…

Oxford Machine Learning Research Group 2021-03-01 17:41 UTC Score 25.0 USR-0027-20210301-research-aca-79a93137 Full article

aistats_iclr_2021

AISTATS and ICLR acceptances 2021 Alexander Camuto, Matthew Willetts, Brooks Paige, Chris Holmes and Stephen Roberts (2021). Learning Bijective Feature Maps for Linear ICA. Proceedings of AISTATS 2021 (to appear). Alexander Camuto, Matthew Willetts, Stephen Roberts, Chris Holmes, Tom Rainforth (2021).

Cross Validated 2021-03-01 17:33 UTC Score 15.0 AI-113-20210301-social-media-e21897ed

Diff-in-Diff with a binary outcome? (i.e., comparing proportions of two groups over two time points in a paired setting)

Let's say I have students randomly split into two groups (treatment and control). Each student is given a test and they either pass or fail. They then either take a course (the students in "treatment") or they don't (students in "control") - then they take the exam again. I want to know if the course helped the students who took the exam in the second time. If we had only the second time, and wanted to compare treatment to control, we could use Chi-square test (or Fisher's exact test). If we had only one group (e.g., treatment), and we wanted to compare the success in the example before-after the course, we could have used McNemar's test. But what test would I use to compare the effect of the course on the improvement in the exam's pass rates? If the outcome wasn't pass/fail, but a normal outcome, we could have taken the difference between the before and after for each student, and then compare the two groups using a two sample $t$ -test (i.e., Diff-in-Diff). But how should I proceed with a binary outcome?

Distill Archive 2021-02-11 20:00 UTC Score 10.0 AI-038-20210211-ai-specialis-e4474d4a Full article

Self-Organising Textures

Neural Cellular Automata learn to generate textures, exhibiting surprising properties.

Data Science Stack Exchange 2021-02-11 19:29 UTC Score 29.0 AI-111-20210211-social-media-43792a8a Full article

Train MLP Neural Network on time series data?

Newbie question here but I was curious to ask if an MLP Neural type network can be trained on time series data? The dataset that I have is an electricity type data set from a building power meter and I can find I can train a decent NN model with including a lot of weather data and also a lot of one hot encoding dummy variables for time-of-week. (day, hour, month number, etc.) I am experimenting in Python with the Tensorflow Keras library and I know the default during the training process randomly shuffles the data. Is this a No-No for a time series type problem where the random shuffle will take out the seasonality from the data? (stationary/non-stationary) The results shuffling the data really aren't that bad at a glance but not-randomly shuffling the data the results for MLP NN are poor, like the model doesn't train well. I know some other times series forecast methods can include ARIMA, LSTM, etc. but I was curious to inquire if MLP can be used for these purposes too? What I ultimately need is a short term forecast method that can incorporate hourly weather forecast (from a web API) to forecast future hourly building electricity. Any tips greatly appreciated. Thanks

Distill Archive 2021-02-04 20:00 UTC Score 10.0 AI-038-20210204-ai-specialis-a9b7e7bb Full article

Visualizing Weights

We present techniques for visualizing, contextualizing, and understanding neural network weights.

fAIr LAC 2021-02-03 14:10 UTC Score 27.0 USR-0219-20210203-ai-specialis-69725fc4 Full article

fAIr LAC: Adopción ética y responsable de la inteligencia artificial en América Latina y el Caribe

fAIr LAC: Adopción ética y responsable de la inteligencia artificial en América Latina y el Caribe @administrador Mié, 03/02/2021 - 14:10 Adopción ética y responsable de la inteligencia artificial en América Latina y el Caribe Imagen principal Categoría Publicaciones Tipo de recurso Documentos Archivos de recurso Prueba de nota técnica Descargar Enlace externo https://publications.iadb.org/es/fair-lac-adopcion-etica-y-responsable-de-la-in… Destacado Desactivado Order destacado -1

Distill Archive 2021-01-30 20:00 UTC Score 10.0 AI-038-20210130-ai-specialis-0dc8e03e Full article

Curve Circuits

Reverse engineering the curve detection algorithm from InceptionV1 and reimplementing it from scratch.

Distill Archive 2021-01-27 20:00 UTC Score 10.0 AI-038-20210127-ai-specialis-0ede2f7c Full article

High-Low Frequency Detectors

A family of early-vision neurons reacting to directional transitions from high to low spatial frequency.

Jay Alammar Blog 2021-01-19 00:00 UTC Score 33.0 USR-0113-20210119-ai-specialis-e1508f35 Full article

Finding the Words to Say: Hidden State Visualizations for Language Models

By visualizing the hidden state between a model's layers, we can get some clues as to the model's "thought process". Figure: Finding the words to say After a language model generates a sentence, we can visualize a view of how the model came by each word (column). Each row is a model layer. The value and color indicate the ranking of the output token at that layer. The darker the color, the higher the ranking. Layer 0 is at the top. Layer 47 is at the bottom. Model:GPT2-XL Part 2: Continuing the pursuit of making Transformer language models more transparent, this article showcases a collection of visualizations to uncover mechanics of language generation inside a pre-trained language model. These visualizations are all created using Ecco, the open-source package we're releasing In the first part of this series, Interfaces for Explaining Transformer Language Models, we showcased interactive interfaces for input saliency and neuron activations. In this article, we will focus on the hidden state as it evolves from model layer to the next. By looking at the hidden states produced by every transformer decoder block, we aim to gleam information about how a language model arrived at a specific output token. This method is explored by Voita et al.. Nostalgebraist presents compelling visual treatments showcasing the evolution of token rankings, logit scores, and softmax probabilities for the evolving hidden state through the various layers of the model.

Cross Validated 2021-01-16 05:58 UTC Score 18.0 AI-113-20210116-social-media-d7b6dd31

Train autoencoder to reconstruct 2D Gaussian data

I am trying to train an autoencoder to reconstruct 2D Gaussian data. These datapoints are simply sampled from Gaussians with means and covariances chosen randomly. An illustration of what I am trying to do can be visualized below for datapoints from 3 different Gaussians The blue crosses are the training data and the orange points are the reconstruction of the autoencoder. The goal is to have the orange points match as closely as possible to the blue points. I am using MSE loss for now, although KL divergence between the input and output distributions seem to make more sense, but is trickier to implement for backprop. For each training set I sample 100 2D coordinates from a different Gaussian, say (x,y) and I stack them into a 200-long feature vector [x1, y1, x2, y2, ... , x100, y100] and pass in mini-batches of these into the autoencoder. I sort these points by the L2 norm of the tuples (x,y), which I've found to help a bit. I've tried basic fully connected autoencoders (200 input/output neurons) and also convolutional autoencoders. Any tips on how I could make it work better? Thanks!

How to extract parameters from a text using AI/NLP
AI Stack Exchange 2021-01-13 13:34 UTC Score 23.0 AI-110-20210113-social-media-8c81b4b2 Full article

How to extract parameters from a text using AI/NLP

lets say I have three texts: "make a heading that says hello word" "make a heading of hello world" "create heading consist of hello world" How can I fetch those groups of words using AI which is referring to heading i.e hello world in this case. Which AI frameworks or libraries can do that? in all examples heading is pointing to hello world (which i am referring as group of words). so basically i want those words which will be a part of heading or in other word there is a relationship between them. another example i can give is "I am watching Breaking bad" so there is a relationship between watching and breaking bad and i want to extract what are you watching. What's the best approach? Do I have to train a model for that or there are some other techniques that can get it done?

VAR model variable selection
Cross Validated 2021-01-11 21:06 UTC Score 16.0 AI-113-20210111-social-media-e55e7f3e Full article

VAR model variable selection

I'm required to use two time series models in my exam project. I want to use a stock price of an energy company, and then explain it first using ARIMA, and then adding other variables and using VAR. My problem is that I can't find variables which pass the Granger test of causality. I have tried prices of commodities, competitor stock prices, etc. So now I have opted to use two of the same company's stocks, but just listed on different stock exchanges (same company, same currency - one stock trading in Germany, the other in Brussels) Obviously, the stock on both markets is impacted by the same unobserved variables. Is this a huge mistake, or can I proceed if I discuss and show that I am aware of omitted variable bias?

Data Science Stack Exchange 2021-01-11 06:25 UTC Score 12.0 AI-111-20210111-social-media-b6b9df2d

Time series forecasting with constraints

I want to predict the passenger flow volume of an airline route, which subjects to supply capacity constraints of the route (i.e., the passenger flow volume should not be higher than the supply capacity). Are there any algorithms that could be used to do this kind of forecasting problem with constraints?

Alignment Newsletter 2021-01-04 01:32 UTC Score 35.0 USR-0153-20210104-ai-specialis-4e07dab9 Full article

FAQ: Advice for AI alignment researchers

Consider reading How to pursue a career in technical AI alignment. It covers more topics and has more details, and I endorse most if not all of the advice. To quote Andrew Critch: I get a lot of emails from folks with strong math backgrounds (mostly, PhD students in math at top schools) who are […]

Jay Alammar Blog 2020-12-17 00:00 UTC Score 39.0 USR-0113-20201217-ai-specialis-fb351fb3 Full article

Interfaces for Explaining Transformer Language Models

Interfaces for exploring transformer language models by looking at input saliency and neuron activation. Explorable #1: Input saliency of a list of countries generated by a language model Tap or hover over the output tokens: Explorable #2: Neuron activation analysis reveals four groups of neurons, each is associated with generating a certain type of token Tap or hover over the sparklines on the left to isolate a certain factor: The Transformer architecture has been powering a number of the recent advances in NLP. A breakdown of this architecture is provided here . Pre-trained language models based on the architecture, in both its auto-regressive (models that use their own output as input to next time-steps and that process tokens from left-to-right, like GPT2) and denoising (models trained by corrupting/masking the input and that process tokens bidirectionally, like BERT) variants continue to push the envelope in various tasks in NLP and, more recently, in computer vision. Our understanding of why these models work so well, however, still lags behind these developments. This exposition series continues the pursuit to interpret and visualize the inner-workings of transformer-based language models. We illustrate how some key interpretability methods apply to transformer-based language models. This article focuses on auto-regressive models, but these methods are applicable to other architectures and tasks as well. This is the first article in the series. In it, we present explo…

Cross Validated 2020-12-04 02:39 UTC Score 9.0 AI-113-20201204-social-media-02a6b804

How to match regions in difference-in-differences analysis

I've had an idea for a project to work on over winter break. It involves a difference-in-differenced analysis of two similar-sized cities on different sides of a state border. How do I confirm that the two cities are similar enough in their characteristics? Is it an eye test or is there a statistical methodology? I would also appreciate any suggested readings.

Cross Validated 2020-12-02 23:52 UTC Score 12.0 AI-113-20201202-social-media-c3b00510

Extracting the fitted expected number of points from mppm in spatstat (in R)

When fitting a Poisson process model on multiple point patters using the spatstat R package (mppm function), is there a computationally efficient way to extract the fitted expected number of points from the mppm fit? I expand with a toy example below: Let's say that my data are point patterns over T time periods and I have a single spatio-temporal predictor in the form of an image (spatstat im class). I generate such toy data here: set.seed(1234) library(spatstat) # Number of time periods. For each time period I observe a point pattern. time_points Then, we can use mppm to fit a poisson process model for the point pattern data on the predictor. We can do so with the following code: mod_dta In order to extract the estimated conditional intensity function we can use the predict.mppm function: mod_dta$fitted_cif which we can use to extract the expected number of points for each time period as the integral of the conditional intensity function: plot(with(mod_dta, integral(fitted_cif))) However, this process can be slow if the number of time periods time_points is large, and the value for ngrid in predict.mppm is set to large (to improve accuracy). I wonder if the fitted expected number of points can be extracted directly from the mppm fit ( pp_mod in the example) without having to define the conditional intensity as an image and integrate over it. Thank you for your help.

Data Science Stack Exchange 2020-11-26 07:43 UTC Score 18.0 AI-111-20201126-social-media-935ce692 Full article

Validation loss and validation accuracy stay the same in NN model

I am trying to train a keras NN regression model for music emotion prediction from audio features. (I am a beginner in NN and I am doing this as study project.) I have 193 features for training/prediction and it should predict valence and arousal values. I have prepared a NN model with 5 layers: model = Sequential() model.add(Dense(100, activation='elu', input_dim=193)) model.add(Dense(200, activation='elu')) model.add(Dense(200, activation='elu')) model.add(Dense(100, activation='elu')) model.add(Dense( 2, activation='elu')) And this is my loss and optimizer metrics: model.compile( loss = "mean_squared_error", optimizer = 'RMSprop', metrics=['accuracy'] ) When I try to train this model, I get this graph for loss and validation: So the model is trained and reaches accuracy of >0.9 on training data, but on test data accuracy wont fall, but it stays on ~0.5. I don't know how to interpret this graph. I don't think this is overfitting, because validation accuracy wont fall, but it stays the same. How can I try fix this? Update: I tried to add dropout and regularization and it worked in a way that now I clearly see that I have a problem with over-fitting. But now I am stuck again. I can not make my model to decrease validation loss. It always stops at about 0.3 validation loss. I tried changing my model architecture, data preprocessing, optimizer function, and nothing helped.

GlobalPolicy.AI 2020-11-20 09:03 UTC Score 28.0 USR-0163-20201120-ai-specialis-f3a2f6c3 Full article

Council of Europe

Achieving impact through intergovernmental co-operation on artificial intelligence About Key focus areas Events AI events calendar Events on Globalpolicy.AI Partners Reports FAQ Contact Search English Français The Council of Europe (CoE) The Council of Europe’s mission is to guide its member States towards a better protection of human rights, in accordance with the values of […]

Generating data that satisfies certain mean, median and covariance in python
Cross Validated 2020-11-19 15:32 UTC Score 12.0 AI-113-20201119-social-media-5afde366 Full article

Generating data that satisfies certain mean, median and covariance in python

I would like to generate pseudo-random data of 16,000 instances with two positive features each. One with a mean value of 6300 and median of 4600 and the other feature with mean of 12500 and median of 12000. Up until now I managed to get close to what I desire by generating two random batches of below and above the median and then tweaking it a bit to get the required means. The problem now is that the covariance between the two features needs to be equal to 0.97*σ(feature1)*σ(feature2), and I am lost in how to generate the whole data with these requirements. Is there some package or function for generating data with specific values?

GlobalPolicy.AI 2020-11-18 09:30 UTC Score 31.0 USR-0163-20201118-ai-specialis-c393af1e Full article

European Commission

Achieving impact through intergovernmental co-operation on artificial intelligence About Key focus areas Events AI events calendar Events on Globalpolicy.AI Partners Reports FAQ Contact Search English Français European Commission (EC) The European Commission’s vision on Artificial Intelligence is based on the twin objective of excellence and trust. People’s safety and fundamental rights are at the centre […]

GlobalPolicy.AI 2020-11-18 09:29 UTC Score 30.0 USR-0163-20201118-ai-specialis-e8e001a8 Full article

European Union Agency for Fundamental Rights

Achieving impact through intergovernmental co-operation on artificial intelligence About Key focus areas Events AI events calendar Events on Globalpolicy.AI Partners Reports FAQ Search English Français European Union Agency for Fundamental Rights The European Union Agency for Fundamental Rights (FRA) works on the promotion and protection of fundamental human rights in the European Union (EU). As part […]

Distill Archive 2020-11-17 20:00 UTC Score 16.0 AI-038-20201117-ai-specialis-2a21158b Full article

Understanding RL Vision

With diverse environments, we can analyze, diagnose and edit deep reinforcement learning models using attribution.