Why Machine Learning is vulnerable to adversarial attacks and how to fix it (KDnuggets)

Machine learning can process data that is imperceptible to humans from which it produces results we would expect.

These inconceivable patterns (they might look like old-school TV static to us) are inherent in data but may make models vulnerable to adversarial attacks. How can developers harness these features to not lose control of AI?

Check out my latest technical review article covering recent research to answer this question published on KDnuggets, the top-rated and influential portal covering news and tutorials on Artificial Intelligence, analytics, Big Data, data mining, data science, and machine learning.

Why Machine Learning is vulnerable to adversarial attacks and how to fix it


AI in the Family: how to teach machine learning to your kids (KDnuggets)

Artificial intelligence is all the rage with programmers and scientists, but what about our next generation? Machine learning can be introduced to young ones who are just now learning how to code, and it is important that today’s practitioners spark their interest.

Check out my article published on KDnuggets, the top-rated and influential portal covering news and tutorials on Artificial Intelligence, analytics, Big Data, data mining, data science, and machine learning.

AI in the Family: how to teach machine learning to your kids


An Hour of Code may lead to a Lifetime of Creativity

Computers don’t, won’t, and can’t do anything at all, ever, without at least one human being telling it what to do. Human-to-computer communication does not follow a traditional natural language passed down and evolved through centuries of human culture, but a relatively brand new class of language: a language that controls computation. The “programming” of this language is well-grounded today and has an evasive future that will drive most industries worldwide, and will directly impact every human on the planet.

The computational languages developed by humans are becoming so independently powerful that we now refer to the latest versions as Artificial Intelligence (AI). While AI research is advancing rapidly, if computational machines develop internal “ghosts” to code themselves, as some fear, then it remains likely they will only continue evolving through a direct partnership with humanity. I mean, someone will have to keep them plugged into the power grid, right? However, if future AI can figure out how to perform the task of electrical “self-feeding”, then it will be the responsibility of humanity to be so actively embedded in AI evolution that we ensure our partnership to ensure our survival.

Until this new epoch arrives (which may be sooner than we think) when computer scientists may be the superheroes needed to keep our species around, knowing how to develop code for computers is already an essential skill today for many professions. There are currently 500,000 computer science-themed job openings in the US with only 8% of all STEM-related college majors graduating with a degree in computer science [check out the details]. The need for computational human capital clearly exists today, and if this gap is not filled, then our continued technological advancements at an exponential rate will slow.

Identifying this need for computer science education isn’t a 2019 issue. Steve Jobs called it out way back in 1995 suggesting computer science is a “liberal art” that should be taught to everyone.

So, at what age should humans begin to learn to make computers do what they want them to do? With such a professional gap and AI on the horizon for the next generation, no age may be too young. I recall first formally learning programming in high school (BASIC, PASCAL, and Turbo C++) on a 386 desktop, and my kids started in grade school with Scratch Jr on a tablet. Today, the well-funded worldwide effort from Code.org, called Hour of Code, is a primary driver in the promotion and encouragement of coding for school-age youngsters. Their efforts bring coding experience to K-12 learners through online interactive experiences as well as new training programs for teachers—from any educational background—to bring computer science to the classroom.

If You Give a Preschooler Some Code

While Code.org targets the little Kindergartener through all grades, Khan Academy developed a more advanced learning interface ideal for junior high students to adults who are just getting started. All these approaches require the learner to be a reader, so how can the excitement and creativity of code be introduced to the youngest of developing brains? From my experiences, figuring out how to introduce coding to pre-K students through presentations at area grade schools, I discovered how a combination of off-line activities and no-reading-required online interactions, such as Kodable, offer a valuable start.

Kodable does offer a free, three-day trial account option for families to get started with their kids. However, it is geared toward schools establishing a paid account and incorporating it into their curriculum. What is exciting here is that through an interactive game, pre-readers can begin to appreciate the fundamental concepts of computer programming. With the beginner level, the coder must help little furry aliens get around on the planet by assigning logic steps to direct their movement. The game incorporates voice instruction, visual guidance, and point-and-click responses with positive feedback. Did you ever see a toddler take up a tablet and learn how to navigate to the settings menu within seconds? Yep, pre-K kids can pick up on computer science logic using Kodable in no time.

Khan Academy recently launched additional opportunities for toddlers+ (ages 2 to 6) to engage with interactive computer skills with Khan Academy Kids app for iOS and Android devices. While this platform is not exclusively for teaching the youngest of youngsters to write code, it offers a learning interface implementing the Head Start Early Learning Outcomes Framework and Common Core Standards to introduce topics ranging from math to motor development that provides a direct pathway to earlier adoption of computational skills and reasoning. 

Here I am looking a little goofy while having a “teaching moment” interacting with a grade school during an unplugged computer science activity to understand conditional expressions.

Understanding how computers work and appreciating the “language of code” can also be accomplished off-line without a computer or online connection. Many “unplugged” interactive activities (old-school style) have been developed to demonstrate concepts in computer science and computer programming [learn more]. For an example that works well for pre-K on up, I use a color flashcard deck along with a “logic flow” of instruction for students to follow based on the color of the card presented. While it is as simple as a modern computational spin on Simon Says, the students interpret “if/then” statements to determine actions to take when a specific card is presented. If you see a red card, then run in place. If you see a blue card, then dance! If you see a green card, then … wait, there is no green card in the logic … so, do not change your current action! (It’s a great way to get to kids to exercise for more than a few seconds.)

Whatever the activity for any age, the key for bringing computing to pre-readers is to interactively guide them through computational thinking and hold off on having them worry about typing precise syntax into a professional-grade IDE (Integrated Development Environment).

It’s Like Professional Screentime

Parents can certainly support kids’ first dive into coding to help establish a long-term interest. Imagine gifting allowable screentime to your children with future professional benefits! You will be a hero in both your children and parent social circles.

HourOfCode_kiddos_2014Of course, you are not alone. A plethora of online graphical coding interfaces have been designed for all ages to develop foundational concepts to code digital creations. As your launching pad, our Coding for Kids guide from dpr features the best programs available today for your child to first learn to code and continue toward advanced digital creativity.

If you or your child has no experience coding, then the perfect time of year to start is Computer Science Education Week, which runs each year around Grace Hopper’s birthday on December 9 who was an early pioneer in computer science. This week in December features the “Hour of Code” program hosted by Code.org that encourages students and teachers around the world to spend at least one hour experiencing a coding game or project. Having served over 650 million students over the young history of the movement, an Hour of Code now occurs in over 180 countries with more than 156,000 registered events for 2018.

The Hour of Code effort is designed to inspire the next generation of youth to be excited about computing by using a visual programming language, called Blockly, to help them begin to gain a deep familiarity with code structure and logic. Check with your school as they may be planning an Hour of Code this year. If not, you can still access all Hour of Code activities online for free any time of the year. Simply preview the large collection of activities and select one that fits with your grade level and topic interest. My favorites are Minecraft and Star Wars. Some activities are more challenging than others, but each guides you through the activity and provides constructive feedback to help you learn new ideas and problem solve along the way.

Level 1 of the Mine Craft coding activity from Hour of Code. Logical commands stacked as “blocks” (as a front for JavaScript code behind-the-scenes) direct the movements of ‘Steve’ through a Minecraft landscape to accomplish presented goals.

After gaining a comfort level with the block-style programming featured in the Hour of Code experiences, the next step is to leverage this approach to create unique and more advanced programs. Developed by the Lifelong Kindergarten group from the MIT Media Lab, Scratch is an intuitive programming interface to create interactive stories, games, and animations to be shared with others in an online community. For younger codes aged 5 through 7, Scratch Jr. is a tablet-only experience that offers a guided approach to creating interactive games and stories by snapping together blocks, coloring characters, and recording voices and sounds. In the process of developing through the Scratch environment, children learn to solve problems, design projects, and express themselves creatively on the computer.

The intuitive programming interface of Scratch based on “block-building” coding.

The Scratch interface is powerful enough to keep the attention of youth for quite some time. My daughter started with Scratch Jr. in grade school and continues to use Scratch for creating materials for middle-school projects and presentations. Just recently, she developed a Victorian Etiquette animated presentation with voice-overs, background music, user interactivity, and multiple camera views. At one point during the presentation, there was a bug (there always is a bug), and she paused the animation to open up the code for a quick fix. The classroom “ooo’d” and “ahhh’d” with the impressive back-end programming required. Now, for a middle-schooler, that is professional development at its best.

The Walt Disney Company even ventured into helping young gamers develop an appreciation for computational thinking and code logic through its interactive media group. Before closing their doors in 2016, they developed a wonderful game in 2013 called Disney Infinity that was an adventure sandbox mixing together all Disney characters. We discovered the game late in 2015 and my two kids were immediately hooked (so was I) — and it didn’t hurt that we were already a Disney-bound family. The most amazing feature was the Toy Box mode where gamers could build entire Disney-fied worlds including characters, logical elements and controllers, and props reminiscent of our favorite Disney content. It was like early childhood training for becoming a Disney Imagineer.  My kids were entertained by the Disney theme, and they were creating digital worlds that had function and purpose. As reviewed by Andy Robertson (@geekdadgamer), “…you are not only having fun playing a video-game but learning transferable programming techniques, logical thinking, planning and creative world design” (~ VentureBeat.com 2015).

Unfortunately, the game unit was disbanded just as our family was really getting into it, but my youngsters were chomping at the bit to learn and absorb more. It’s this opportune time to move your kids beyond logical blocks and animated characters and discover the syntax behind the digital magic. The informal educational presentations offered from Khan Academy not only provide math learning for grades K-12, but they now offer free online lessons in computer science fundamentals and programming in JavaScript, HTML, and SQL as well as special features on computer animation from the magicians at Pixar.   

Learning programming with Khan Academy is interactive and designed to provide immediate feedback to coding syntax so the student is guided through debugging errors. With inline help tips and friendly error messages, the development interface helps you discover the nitty-gritty of creating with code in a snap. By the end of the learning series, your kids will be programming sophisticated web site features like an interactive slide show with animated transitions built on jQuery!  

A crucial focus, however, is on helping schools and educational organizations take the lead in encouraging the development of coding skills as early as the elementary grades. While at-home informal learning experiences are incredibly valuable for child and parent, many students will have better opportunities in the classroom to branch out into the world of coding.  

Teacher Up

With summertime nearly approaching, this is a great time for educators to begin investigating how they can easily incorporate programming opportunities, such as the Hour of Code experience, into their Fall curriculum. The good news is there are enormous resources available for teaching right now. As so many schools are embedded with the G Suite for Education, tapping into the broad online resources made available from Google is an obvious next step. Specifically for computer science, Google developed the CS First curriculum for teachers, parents, and librarians to leverage for introducing computer science to students aged 9 to 14. With no prior programming experience required, educators can create a course from freely-available lesson plans and solutions and implement with online dashboard tools for tracking student progress.

The organization behind Hour of Code has developed even more online resources to use directly in a classroom as well as professional learning workshops for educators across the US to participate. Last summer, 11,000 new teachers were training by Code.org with over 25,000 in all of 2018.  These teachers are changing the face of education as these types of learning opportunities are not yet standard in the American classroom. With support from the high-quality, no-cost programs from Code.org spanning grades K-12, computer science is being made more accessible for classrooms year-round.

Computer science offers a foundation for success in any career, and the need for more experienced programmers continues to grow. In the state of Illinois alone, for example, there exist nearly 20,000 open jobs in computer science, and only 6,210 students took the AP Computer Science exam. The demand is high. The supply is low. We have such an opportunity right now to help our kids develop programming skills to prepare them for an exciting and creative professional future built with code. So, start them out now with just an hour of code, and it may lead to a life full of digital creativity.


The Fourth Revolution is impacting your life now

credit: Christoph Roser at AllAboutLean.com

By now, you’ve likely heard something about Artificial Intelligence (AI), machine learning or deep neural networks. If not in a favorite science fiction read, then in the headline news as the media is craving this class of story. AI has been in development since the 1960s and only in the current decade is it starting to really find roots in our daily experiences. 

From recommendations in your online shopping to self-driving automobiles, computer software technology capable of guiding some of its behavior is no longer the stuff of science fiction. The foundation of AI is based on a variety of techniques referred to as “machine learning,” which is undergoing rapid development by scientists worldwide.

Our civilization has evolved through many technical revolutions that drove our capabilities as a species to a new level. First, it may have been the purposeful ignition of fire or the shaping of stones with sharp edges. We next progressed through wheels, irrigation, writing substrates, printing, and eventually computers. Our first industrial revolution that brought about the next level in how we produce things occurred around 1784 when steam power came online. Then, the early 1900s brought us the assembly line approach followed by electrical engineering (oh, how we love our light bulbs!) ushering a second industrial revolution. Only several decades later (suggesting a trend of exponential growth), the third industrial revolution washed over us with increasing computing power and advanced automated production processes that evolved rapidly through the end of the 20th century.

While machine learning sparked back in 1959 right along with the cusp of the third industrial revolution, it is now in the 21st century that AI is beginning to mature, although still in an infancy of its full potential. Its deepening integration into automated processes is proliferating through many industries, and we find ourselves on the cliff’s edge of the fourth industrial revolution: the AI revolution.

What is interesting to note is that since we are experiencing just the beginning of this revolution, we can see how engineers and developers are still down in the weeds figuring out the details of how to implement AI. While you may see many cover stories and promotional materials highlighting how AI is powering existing technologies, the industry doesn’t have anything close to perfection and are scrambling to understand how and where the AI integration will take us and our technologies. This rapid and convoluted discovery phase is reflected in today’s discussions from scientists and engineers, and it is exciting to witness this dynamic development occurring at a frantic pace.

An article published earlier this year by Inside HPC reflects this state of “not really knowing what we’ve got, but we’re plowing forward anyway” from those who are actively working the AI application problem. This is an interesting read to learn a bit more about our next industrial era (it’s happening, folks, one way or another) and how research teams are frantically working on it without quite knowing exactly where we are going. 

 “Artificial Intelligence: The Next Industrial Revolution” | Inside HPC, February 5, 2018 

dpr Launches New App: MyHealthy.Today

Dynamic Patterns Research is excited to announce the official launch of a new app, MyHealthy.Today

There are a lot of things to remember to stay healthy. Your health goals can become doable if you break them down into a process of manageable tasks and routines. Our new app is designed to help you keep track of all the healthy activities that fit your needs. You can create customizable daily tasks that are just right for you and your health goals, and the app will keep you focused and monitor your performance. 

We have tinkered with web-based applications for several years and MyHealthy.Today is the first to make it to a public version 1.0 launch. The app is optimized for mobile and will work on any desktop, tablet or device through the web browser. By the end of April 2018, we will provide a major update for version 2.0 to include integration with Amazon Alexa. Future enhancements will offer Android and iOS versions.

Where’s the science in a healthy routine?

Why would Dynamic Patterns Research design a health app? A focus on healthy living is a goal toward which our family has an expanding commitment. Also, from one of the broader topics covered by dpr, healthy living must be a key target for any individual interested in their long-term existence and the future of humanity. 

Hypotheses abound for how humans may evolve, when the singularity will arrive, how we might integrate with technology, and how long we can survive in the future, if not forever. While there is evidence that some, if not all, of these futuristic considerations may be approaching rapidly, they are all in the future. If anyone living today wants to experience revolutions in human-computer interfaces and how our lives can be enhanced and extended with better tools and innovations, we need to still be around when the future arrives. This future may happen next year, next decade or next century, and if we want to ride the wave, then we better stay healthy and alive as long as possible.

So, go check out MyHealthy.Today today and sign up for a free account. Since we are still in the early stages of our v1.0 launch, please send us feedback to report bugs, unexpected behavior, and your ideas for how we can improve the app to make it easier to maintain your healthy lifestyle today… and maybe forever!


Future Day 2018 featuring the new dpr Book Club

Another Future Day is upon us, and this year, Dynamic Patterns Research will celebrate with a new “book club” event hosted online for all of you to participate.

Thursday, March 1, 2018 | 6:30 – 8:00 pm online
RSVP at the dpr Facebook Calendar Event

Future Day is a grass-roots, world-wide celebration of the future and what it holds for humankind. On March 1, we are encouraged to ponder what the future might be like and, more importantly, what we can do now to help make the future become what we want.

In this spirit, I recently discovered the popularized science book written by Max Tegmark, Professor of Physics at MIT, that discusses the possibilities, opportunities, and warnings for the next phase of life as we know it. The first “version” of life, or Life 1.0, evolved in the form of bacteria. The second phase featured humans. Looming on the horizon is Life 3.0–where human intelligence is exponentially and explosively broadened with technology. This new product launch of life will be represented by the development of a super-human artificial intelligence (AI) driven by extreme computational frameworks.

Life 3.0 is our evolution into technological intelligent beings.

Prof. Tegmark offers a thorough and imaginative–yet, scientifically grounded–exploration of the wide implications of a level of AI that is so much more than anything we have witnessed up until today. His ideas and stories include wondrous new opportunities for prosperity and enhancement to apocalyptic scenarios that leave biological humans in the dust, quite literally.

While a super-AI does not exist today, it is likely inevitable. However, exactly when super-AI comes to pass is impossible to predict. Some say within the next couple of decades, others claim in the next millennia, while still others insist it just can’t happen. No matter when the future of AI arrives, it will do so because human beings created it. This means we are in the critical position today to guide its development and implementation. So, the time is now to figure out what we want the future of AI to be for us. Thinking about what we want when super-AI is about to emerge will be much too late because the super-AI may just pass us by and push us under.

I encourage you to grab a copy of this intriguing book–check it out at your local library, download the audio version for your commute, or pick up a copy at your favorite local bookseller, such as Anderson’s Bookshops, or that other big warehouse with a lot of books and things. For our book club discussion, try to get through at least the prologue, which includes a tantalizing fictional account of how a super-AI might develop and lead to world domination, and the first chapter. This includes a broad introduction to the issues, ideas, and terminology as well as an initial review of questions we should answer to determine how we want to guide our fate alongside the inevitability of the future of AI.

On March 1, 2018 (Future Day!) from 6:30 – 8:00 pm, dpr will host an online event (and possibly the addition of a local venue depending on participation). Bring your questions, ideas, thoughts and preferences for the future, and your imagination (and web cam) while we talk through the exciting, scary, wild, and unbelievable possibilities that we might witness when Life 3.0 launches.

To RSVP, please like the dpr Facebook page and mark you will be attending in the calendar event. You may also RSVP by contacting dpr directly, and I’ll be sure to email you with connection details closer to the event date and time.

Happy Future Day!


Last updated August 7, 2022