Xu He

Where Do Machine and Brain Intersect?

About Photo
I'm a PhD candidate in Computer Science at Jacobs University and a Research Associate at MINDS. My academic interests span from machine learning to computational neuroscience. Currently, I am developing mathematical models and algorithms to overcome challenges facing unconventional neuromorphic hardware, such as computation with spikes, device instability and catastrophic forgetting.


Research I, Room 81
Campus Ring
28759 Bremen


Jacobs University Bremen, Germany
2015 - Present, PhD in Computer Science
2012 - 2015, BSc in Computer Science

Research Experience

Modeling Intelligent Dynamical Systems (MINDS) Lab
June 2016 - Present, Research Associate for NeuRam Cube
Knowledge Adaptation and Reasoning for Content (KWARC) Lab
Sept. 2015 - May 2016, Research Associate for OpenDreamKit

Exchange and Internship

Max Planck Institute for Mathematics in Sciences, Leipzig, Germany
April - June, 2017, Visiting Researcher, funded by the SmartStart Program
Computational Neuroscience Group at University of Bern, Bern, Switzerland
June - August, 2016, Guest Scientist
Statistical Artificial Intelligence Lab at UNIST, Ulsan, South Korea
June - August, 2015, Intern
Technicolor Research and Innovation Center, Hanover, Germany
July - August, 2014, Intern at the Computer Vision Lab

Honors and Awards

2016-2017, SMARTSTART Computational Neuroscience Fellowship by Volkswagen Foundation and Bernstein Network
2015-2018, Jacobs University Outstanding Talent Award for Graduate Students
2012-2015, Jacobs University Tuition-waving Scholarship for Undergraduate Study

Work Experience

Department of Computer Science and Electrical Engineering
Fall 2017, Lecturer for Programming in C I
Spring 2016, 2017, TA for Machine Learning
Fall 2016, 2017, TA for Principles of Statistical Modeling
Campus Life at Jacobs
September 2017 - Present, Resident Associate in Mercator College
Admissions at Jacobs
September 2013 - February 2016, Student Assistant


NeuRam Cube Project

My current research is supported by the EU project NeuRam Cube, of which the purpose is to fabricate a chip implementing a neuromorphic architecture that supports state-of-the-art machine learning and spike-based learning mechanisms. Neuromorphic hardwares, like other unconventional computing substrates, are non-digital, unclocked, low-precision, exhibit static and dynamic parameter drift, and may have limited lifetime. Taking inspirations from human brains, my research focus is to develop theories and algorithms to harness such non-classical devices for computation, despite of their challenging properties.


X. He, H. Jaeger (2017): Overcoming Catastrophic Forgetting by Conceptors Jacobs University Technical Reports(35) ArXiv:1707.04853

F. Hadaeghi, X. He, H. Jaeger. (2017):  Unconventional Information Processing Systems, Novel Hardware: A Tour d’Horizon  Jacobs University Technical Reports(36) (Preprint pdf)

Pending Patent

EP3136340 Non Metric Calibration of Unified Camera Projection Model

Workshops and Conferences

John Keating: I stand upon my desk to remind myself that we must constantly look at things in a different way.
(c) 1989 Buena Vista Pictures


Programming in C II

Spring 2018, Lecturer
This course is the continuation of the first semester course unit and offers a more advanced view of the programming skills learned during the first course unit. It covers advanced topics of C programming such as the work of the preprocessor, operations on the bit level, data structures, file handling (binary input and output), libraries, and debugging techniques. Data structures like dynamically allocated multidimensional arrays, linked lists, stacks, queues, tree structures are used for solving practical problems. The relationship between pointers and arrays, pointers and structures, and pointers and functions are described and illustrated on examples. The students have to apply the learned knowledge by solving programming problems under the supervision of teaching assistants.

Programming in C I

Fall 2017, Lecturer
This course offers an introduction to programming using the programming language C. After a short overview of the program development cycle (editing, preprocessing, compiling, linking, executing), the course presents the basics of C programming. It covers fundamental procedural programming components and constructs as well as simple algorithms in a hands-on manner. After learning the concepts of data types, variables, operators and basic data structures, programming constructs like branching, iterations, and data structures like multidimensional arrays, structures, and pointers are presented. The course also gives an introduction into recursive functions, file handling and dynamic memory allocation. Finally, it includes programming assignments, which can be solved during lab sessions under the supervision of teaching assistants. This is a lab course with a lecture part and a practical lab part.

Machine Learning

Spring 2017, 2016, Teaching Assistant

Principles of Statistical Modeling

Fall 2016, 2015, Teaching Assistant