A brief history of machine learning: Software

As we discussed in the previous post, the four aspects of machine learning history is not independent: if software and hardware are not available for certain theoretical models, such models can only be studied as proof of concepts without broad adoptions or significant business impacts. In this post, we continue to share some stories on the software aspects of machine learning development.

The currently most popular machine learning framework is deep neural network, which can trace its roots back to the 1950s and 1960s. However, in the first few decades of AI development, much more efforts focused on rule-based systems. The rules can be derived from data with methods such as decision tree, but also quite often directly translated from domain experts. For instance, to develop an AI solution to support a bank loan officer who evaluates and approves loan applications, we can collect and analyze the actually decision-making processes of many loan officers. Then, the human expert processes can be generalized and programed into a computer system to automate the evaluation and approval of future loan applications.

Is there something wrong with this example? Clearly, this is not the same with what we have been discussing in class. The objective of machine learning is to discover the association between input (loan applications) and output (loan evaluation and approval), without being explicitly instructed how the output is derived from the input. Therefore, extracting relevant information from the input and learn its association with the output has been the mainstream of current machine learning research.

Then why the early AI expert systems had to rely on expert knowledge? The simple answer is that it was much easier to implement with the software, hardware, and data available during that time. We will discuss more issues on the hardware and data aspects in future posts. Now let’s focus on the software needed to develop machine learning and AI systems.

With limited data availability and computing resources, the early AI developments were largely custom-coded in higher-level languages such as Lisp or Fortran, relying on small datasets (such as expert knowledge). Indeed, standard AI software packages or programming libraries were rare before 2000s, and many researchers had to write highly specialized implementations for machine learning algorithms.

In early 2000s, open-source software tools for data mining and machine learning began to appear. Weka, for instance, was released in 1999 by the University of Waikato in New Zealand, offering a broad range of algorithms in a user-friendly Java framework. Weka became popular among researchers, students, and business intelligence projects. In 2005, Weka received the SIGKDD Data Mining and Knowledge Discovery Service Award. Btw, SIGKDD is one of the leading conferences in data mining and machine learning research, and I try to attend this conference every year.

As data volumes grew, Python started to gain traction in the machine learning community for its readability and extensive ecosystem of numerical libraries, such as numpy, scipy, matplotlib, scikit-learn, pandas. Meanwhile, the mid-2000s and early 2010s saw an explosion of libraries for statistical computing, such as R packages for machine learning. These libraries nowadays are go-to toolkit for not only machine learning researchers working in academia but also industrial practitioners like data scientists and machine learning developers.

The success of deep learning in the 2010s ushered in GPU-accelerated frameworks like Theano, TensorFlow (launched by Google in 2015), and PyTorch (developed at Facebook and released in 2016). These frameworks enabled researchers and practitioners to build, train, and deploy increasingly large neural networks, significantly accelerating innovation in areas such as computer vision, natural language processing, and speech recognition. As compute resources continue to grow, these tools make it easier than ever to experiment with new model architectures, handle massive datasets, and integrate machine learning solutions into real-world applications.

Will we still use these software stacks in 2030? If history is any indication, we have to be prepared to always learning something new. Clearly our current software frameworks, regardless how popular they are now, have various limitations that cannot be easily fixed with their next versions. Someday we will realize the only way to solve the limitations is to create a new world. But who knows? Maybe the need to use software to program will become no longer necessary, as we just talk to ChatGPT to get all work done.


Comments

12 responses to “A brief history of machine learning: Software”

  1. Brooke Lackey

    It was interesting to learn about the brief history of the progression of machine learning using different programming platforms. I wonder if there will be one universal platform in the future that everyone will know. As of now, you might be familiar with R, but not Python; so it would be helpful if there were one platform to focus and become proficient in.

  2. Sean Doyle

    After reading this article I was interested to learn how early machine learning started; I thought this was a new concept in the last decade but the brief history proves otherwise. With the rapid advancements in AI and machine learning we are seeing everyday, I am curious to know what percentage of our daily lives will consist of machine learning or AI interaction in the next year, 5 years, or even 10 years.

  3. Caleb Taylor

    I found it very interesting in this model that machine learning can be traced back to the 50’s or 60’s. I thought it was a very new concept. I was also surprised to learn that Python was developed in the early 2000s. It was very surprising how early a lot of these machine early models were made and also very interesting to see how they affect the new models today.

  4. Colin Drew

    After reading this article I was surprised to read that machine learning can be traced back to the 50s and the 60s. I thought that machine learning was relatively new and didnt exist that way back. Also, I believe that our lives will involve machine learning everyday in the next 5 to 6 years.

  5. Jaxson Roberts

    The thing I found most interesting about this article was all the different numerical libraries that python utilizes. They have unique names, going along with the already odd named language, Python. Who knows what machine learning algorithms will be named in the next decade as ML evolves even further.

  6. Eileen O’Hara

    It is quite interesting how much we relied on expert knowledge for machine learning, until the 2000s. This shows how machine learning has exponentially advanced in the last 25 years, gaining the ability to identify much more complex relationships with much less data fed to it. With the amount that software and data availability have increased, I would love to see an example of solving a specific business problem using machine learning software before the 2000s versus today, and how much more relevant and reliable the output is. I’m also curious how the early innovators of machine learning created revolutionary software with limited resources.

  7. Anthony Frisenda

    I found it very informative to gloss over the systems behind machine learning such as the various programming languages, when they were relevant, as well as their shortcomings. The idea of one centralized programming language is very interesting to me because the thought of a unified language that surpasses borders can be very beneficial to the progression of these models.

  8. Braden Evans

    I found it interesting that machine learning is nearly 75 years old. In my head the idea of computers and machine learning is very recent as in the past 30 years. However, it does make sense that original machine learning was based on small datasets of expert opinion such as loan approvals. Additionally I was unaware that Facebook has released a deep learning model.

  9. Julia Quezada

    I was surprised to learn how machine learning was, I think I may have been more surprised because of its rapid growth in these last few years. I am interested to see how it continues to develop, and if it will take new paths or build off of the current software stacks.

  10. Stefano Broi

    It’s interesting to see how machine learning has developed over time, from early systems to the advanced tools we use today. I think the article does a good job of showing how much progress has been made and how the field continues to evolve.

  11. Dominic Magnolia

    This article provides a great overview of the evolution of machine learning software. The point about early AI relying on expert knowledge due to software and hardware limitations is exciting. It highlights how technological constraints shape research directions. I also found the discussion on the rise of Python and deep learning frameworks very cool.

  12. Gates Luton

    I found the process of evaluating input to determine an outcome very interesting, and I look forward to learning more about how machine learning techniques can help out with this process.

Leave a Reply

Your email address will not be published. Required fields are marked *