CISCO Machine Learning

Network Security

Cisco Systems is one of the largest developers and manufacturers of network hardware and telecommunications equipment. In 2013, Cisco acquired Cognitive Security, a Czech startup, and continues to maintain a research center in Prague.

Tomas Pevny is a researcher and instructor at Czech Technical University in Prague and Technical Lead at Cisco Systems. He tailors machine learning algorithms for computer security using network data, steganography and steganalysis to detect infected computers.

Tomas’s goal is to implement a learnable (optimizable) message-passing algorithm for graph using Flux.jl in order to model the entire Internet, or at least a portion of it. Tomas says that Julia is essential to reach this goal quickly and make it scalable.

Tomas explains, “I started using Julia when a friend pointed me to a blog demonstrating efficient implementation of a restricted Boltzmann machine (RBM) with less than 2x overhead compared with C. So one weekend when I was sick and alone at home, I played with Julia and I was sold.”

“Julia is my prime prototyping language,” Pevny continues. “I rely on Julia to write efficient code in a single language – no need for combinations like Python + TensorFlow + C. After Flux.jl reached version 0.3, I ported the main functionality of my own multi-instance neural network library to Flux.jl and I have been using it ever since. At the moment, we have extended Flux to support general and nested multi-instance learning problems in Mill.jl library.”

For example: “As part of Mill.jl, I was implementing convolution that would support matrices of different sizes,” Pevny says. “After doing that for dense and sparse matrices, I noticed that in one-hot-encoding, I should take advantage of sparse matrices containing only zeros and ones. In Julia, this support was super easy. I just defined sparse matrices with Boolean values, which bought me a 7.5x improvement in just two lines of code. This encapsulates for me some of the unique features of Julia.”

“What’s more, I like the open community around Julia,” Tomas says. “I have learned a lot from studying the source code of Flux.jl and other libraries. I’m grateful to the Julia creators and community – Julia makes my rapid prototyping efficient.”

Many of the relevant papers can be found here.

Get the latest news about Julia delivered to your inbox.
Need help with Julia?
We provide products, training and consulting to make Julia successful in your organization. Email us: [email protected]
Contact us
Julia Computing was founded with a mission to make Julia easy to use, easy to deploy and easy to scale. We operate out of Boston, London and Bangalore and we serve customers worldwide.
© 2015-2019 Julia Computing, Inc. All Rights Reserved.