3 Ways to Be Creative with Your Deep Learning and Programming Skills

Source: Deep Learning on Medium

3 Ways to Be Creative with Your Deep Learning and Programming Skills

A dreamy computational photograph created by Daniel Ambrosi.

Being a data scientist/ data analyst usually means that you mostly use your coding skill to wrangle and model data. However, there are tons of other truly fun, beautiful and impactful stuff you can do with your skills. The sky is the limit when it comes to using your creativity.

Grant Sanderson created a video series in which he brilliantly explains Math with programmed animations. Nadieh Bremer left her job as a data scientist at a Big 4 company to become a freelancing data visualization designer and artist. Some people create beautiful artwork using AI algorithms for fun, or even became famous and managed to sell their artwork for an impressive amount of bulk. All these people have somehow got out of the well-trodden path and found an “unconventional” lane for themselves and inspired others.

You should never restrict our interests to what are the hype today, but to look deeper and explore different combinations of your skills and personalities that let you create unique, interesting things that bring values and inspire others.

Why should you do it?

Experience: The exciting little “Eureka” moments you have trying out something new are just refreshing and healthy for your well-being. Furthermore, you get to acquire new skills, exercising your creativity and practice problem-solving.

Discover your authentic interests: Sometimes we tend to follow what others are doing, what others are telling us to be “the next big thing”. By doing that, you lose your own voice. Trying something new is a way to find what really excites you. It may become a hobby, a side project, or probably even your next career move. To me, playing with data is fun, but I also like to creating aesthetically interesting stuff, which probably has its root in my painting hobby. Hearing too much buzzwords and empty conversations about AI/ machine learning bores the hell out of me. But sitting down and actually creating programs excites me.

Attractive tangible results: Once I made a presentation to my colleagues explaining how neural networks work. I included an example of neural style transfer using my own painting style. I was really surprised at how enthusiastic others are about my “AI” generated pictures. These little creations can be a good ice breaker in your conversation with other interested people and even your future employer.

Potential business: If what you created is good enough, you can even turn your creative ideas into a real business. Some people sell artwork created with deep learning online. Some people become successful data viz freelancers. You would surprised at how many patreons are willing to pay for you to do something cool, even if they don’t benefit directly from it.

How should you start?

Here are a few ideas for our creative endeavour:

1. Create digital art piece with P5.js

P5.js is a free open-source JavaScript library for creative coding. It has a full drawing functionality. Instead of sketching on paper, you can think of your whole browser page as your sketch! With a wide range of shapes and functions, you can draw literally anything you can imagine. You can create small games and interactive digital pieces like this one (I had so much fun playing with this!):

Sun rise scene with mouse interaction — you can view the code here.

And here is a little “De stijl” art piece I created with p5.js. “De stijl” (Dutch for “The Style”) was a Dutch modern abstract movement that simplified visual compositions to vertical and horizontal, using only black, with and primary colors.

A “De stijl” art piece I created with p5.js

2. Data visualisation

Data visualisation is an essential skill for everyone who works with data. If you want to create highly interactive and customized data visualization, d3.js is one of the JavaScript libraries you should not miss.

I created this force-layout graph below in a hackathon I participated with my colleagues. We built an NLP model to identify the inter-connection between entities in witness statements, which help the criminal court analyze the cases faster.

Visualizing relationships between entities in witness statements.

While D3 is a powerful library, it also has a rather steep learning curve. However, if you already know some HTML, CSS and some basic JavaScript, you should be ready to pick up d3. If you are new and first want to see what it can do, do visit the d3 gallery. If you want to learn d3 in a more structured way, I would recommend Amelia Waterberg’s website and book, and this website.

3. Create AI generated art with neural style transfer

I do watercolor painting as a hobby. One day I came up with “brilliant” idea of using neural style transfer to create more art with the style of my favourite paintings (what a prolific artist I am!). Using a pre-trained VGG16 networks with only 10 iterations, here’s what I got:

Using neural style transfer to turn a photo into your own style

Conclusion

Solving the world’s problems today requires not only knowledge and skills, but also creativity. Sometimes I feel that the creativity aspect is underestimated in our portfolio. I hope with this article, you’ll be more motivated to try out the ideas you have in mind. No matter how childish and crazy they are, you’ll definitely learn something new.