Inspiration
The premise of Can Your Brain Learn a Liar? began at the end of AP Psychology, in that moment of freedom after finishing our lesson and homework.
A few of us sat in the back of the classroom playing a game called Imposter. In the game, everyone is given the same word except one person, who is the imposter. Each player gives clues, and the group has to figure out who the imposter is.
What interested us was how quickly people would say things like, "I can tell he's lying," or "I can feel it in my bones, she's the imposter." Sometimes there were obvious behavioral clues, but other times there really weren't.
This led us to a bigger question:
What if we are sensing deception before we can consciously identify what gave it away?
Psychology taught us that the brain processes far more information than ever reaches conscious awareness. So we began wondering whether familiarity and repeated interactions between two people could help the brain learn subtle patterns associated with that person's deception.
That question became:
Can your brain learn a liar?
We wanted to approach lie detection carefully. Rather than building a model and labeling anything above chance a success, we focused on rigorous statistical testing and transparent results.
What it does
Our project analyzes hyperscanning EEG data from 12 dyads (24 participants) playing a competitive two-player deception game.
We tested three hypotheses:
- H1 (Universal): a single deception signature exists across people and generalizes to a dyad the model has never seen
- H2 (Person-specific): deception looks different for each individual, but not by partner
- H3 (Relationship-specific, our main hypothesis): the signature depends on the specific pair and gets easier to detect the more history that pair shares
A pooled model, with no dyad grouping, achieved:
$$ \text{AUROC} = 0.534 $$
To check whether that small effect was real, we ran 200 label permutations. The real model beat essentially the entire null distribution:
$$ p = 0.005 $$
That's a small but statistically detectable deception-related signal in the EEG. Once we held each dyad out of training entirely, to test whether that signal generalizes to a pair the model had never seen, performance dropped to:
$$ \text{AUROC} = 0.513, \quad p = .055 $$
Our central test, whether dyad-specific signatures get easier to detect with shared history, produced a small negative estimate instead of the improvement H3 predicted. Person-specific training, observer-only prediction from a partner's EEG, and combining both players' brain data instead of one also came back null.
Our interactive website lets users explore these results across individual dyads and switch between Stranger, Person-Specific, and Dyad-Specific conditions.
Full report: https://docs.google.com/document/d/14t2w2o-QyleDXb70hNdBxirVAnMybyngbeu_M6R5uuY/edit?tab=t.lr8mw0r8nie Code: https://github.com/heliaval/neuroscience-project-liars
How we built it
We built a full data-science pipeline:
EEG data → preprocessing → feature extraction → machine learning → statistical testing → visualization
One of our biggest priorities was avoiding data leakage. Because each participant contributed many trials, randomly splitting samples could allow the model to see the same people during both training and testing.
Instead, we designed our evaluation around participants and dyads, including leave-one-dyad-out testing for the universal-signature question.
We also used permutation testing rather than assuming that an AUROC slightly above 0.5 was automatically meaningful.
For the interaction-history and person-specific experiments, we created volume-matched controls so that models could not perform better simply because they had access to more training data.
Finally, we built an interactive web demo that displays the actual per-dyad experimental results.
Reproducibility
Reproducibility was a design constraint from the start, not an afterthought. Sample sizes, the statistical unit (the dyad, not individual trials or participants), and the analysis plan for each experiment were written down and frozen before we ran the corresponding test, so the method couldn't be adjusted after seeing results we didn't like.
Every significance claim in the report comes from an empirical permutation test (200 label permutations per experiment) rather than an assumed distribution, so the p-values can be regenerated from the same code and data rather than taken on faith.
The full pipeline, from raw EEG through preprocessing, feature extraction, modeling, and statistics, is public on GitHub. One robustness check that exceeded our stability thresholds and one validation that failed are documented in the report rather than hidden, so the limitations are as reproducible as the results.
Challenges we ran into
One major challenge was interpreting a relatively small AUROC.
A score of 0.534 is only slightly above chance, so we needed to determine whether it represented a real signal or random variation. That led us to permutation testing, which became one of the most important parts of the project.
We also had to carefully prevent data leakage between participants and dyads.
Another challenge appeared when testing person-specific and dyad-specific effects. Models with more history to train on often had access to more data, so we built volume-matched controls to separate the effect of more data from the effect of more familiarity.
Our central hypothesis, that deception signatures become more dyad-specific with shared history, was not supported: the estimate came out slightly negative rather than near zero. Instead of changing the analysis until we found a positive result, we kept and reported that null finding at the sample size we had committed to in advance.
Accomplishments that we're proud of
We are most proud of building a project that emphasizes scientific validity rather than just model performance.
Our AUROC of 0.534 is modest, but it survived an empirical permutation test with:
$$ p = 0.005 $$
We are also proud of our dyad-level evaluation, leakage-aware train/test design, volume-matched controls, and a fully reproducible pipeline that anyone can check against our reported numbers.
Most importantly, we reported both the positive and null results honestly instead of only highlighting experiments that supported our original hypothesis.
What we learned
We learned that statistical significance and predictive usefulness are not the same thing.
Our model detected a reproducible signal, but its performance is far from what would be needed for a practical lie detector.
We also learned how important experimental design is in machine learning. Proper train/test separation, the correct unit of analysis, and controlling confounding variables can matter just as much as the model itself.
Most importantly, we learned that null results can still answer an important scientific question. At the sample sizes we set out in advance, the data don't show deception signatures getting easier to detect as partners share more history, and that's a legitimate answer to our central question, not an open gap.
Our findings suggest:
EEG contains a small, statistically detectable trace associated with deception, but that trace did not get easier to detect with shared history, contrary to our main hypothesis.
What's next for Can Your Brain Learn a Liar?
The next step would be testing the pipeline on larger datasets with more dyads to see whether the pooled signal replicates, and whether more statistical power changes the answer on relationship-specificity.
We would also like to investigate which EEG features, frequency bands, and brain regions contribute most strongly to prediction.
Because the dataset records both people simultaneously, another exciting direction is studying brain-to-brain synchrony and asking whether deception changes the neural relationship between the speaker and listener.
We could also track performance across repeated rounds to see whether neural responses gradually change over time.
One experiment from our original plan is still open.
Can Your Brain Learn a Liar? began with a simple question inspired by a game in AP Psychology.
Our answer so far is:
The brain appears to carry a detectable trace of deception, but based on what we found, whether we can learn a liar remains an open question.
Built With
- cloudflare
- css3
- davinci
- github
- pandas
- python
- pytorch
- react
- scikit-learn
- shadcn/ui
- tailwind
- typescript
- vite
- xgboost



Log in or sign up for Devpost to join the conversation.