BOSTON -- Recent advancements in the iOS development community aimed at simplifying AI models with Swift have opened up the potential of mobile app machine learning.
Users have come to expect mobile app machine learning to be a part of every technological interaction they have on their phones, and developers should consider implementing machine learning into their apps' features. Here at this week's SwiftFest event, developers discussed how machine learning reached this point, the future of mobile app machine learning with Apple's Swift development language for iOS and how it can be applied.
Why does machine learning matter for mobile?
By creating a machine learning model, mobile app developers can create applications to do more without developers individually programming every action and reaction. Machine learning technology can see the rules that shape a pattern and predict future events, while people are limited by their own imaginations, said Ray Deck, CTO of Element55, a time-tracking software provider in Cambridge, Mass, in a session.
The challenging part of creating an AI model in the past has been collecting the quantity of examples a machine needs to correctly identify what it is seeing. For example, if the technology needs to correctly identify one person from an image, it would need to collect a proportional number of images to the size of the neural-network model developers were creating.
About five years ago, a breakthrough in organizing neural networks -- Deep learning -- created a faster way to write models more accurately. This opened the way for computers to begin to accurately predict patterns or identify subjects through machine learning models.
"If we just try to write these models ourselves, we won't get it right," Deck said.
Why could Swift be the future of AI?
The future of machine learning may be on the side of Swift developers. With the release of several new software development frameworks -- Swift for TensorFlow and Apple's own Core ML 2 and Create ML -- developers do not need to know as much to incorporate mobile app machine learning.
"Machine learning is more accessible with the latest releases of iOS that they have been doing, and it invites me to explore more and try to use some of that technology in our apps," said Jaime Santana Ruelas, a software engineer at Cisco.
Ray DeckCTO of Element55
In March, the Swift for TensorFlow team at Google announced its open source project. Python has been leading the way in TensorFlow, despite TensorFlow being written in C++ -- a variant of Objective-C, which lends its runtime library to Swift. Creating models with Python is slow, however, and with Swift for TensorFlow, developers can have more creativity when building AI models, Deck said.
"You get that high-level language experience of Swift and that compile performance associated with the runtime, creating a more natural connection, because you are compiling straight into [TensorFlow]," he said.
This month, Apple announced Create ML and Core ML 2 to simplify the creation and implementation of app machine learning models. Create ML enables developers to create machine learning models more easily in Swift through more of a drag-and-drop experience. Plus, developers don't need to have as much technical knowledge to use Create ML. Core ML 2 boasts faster processing speeds and a smaller model size to implement AI models into apps.
"Swift is defining a new golden path of usability for consumption and creation and potentially advancing the vanguard of automatic differentiation," Deck said. "The most powerful models may yet to come."
What can mobile app machine learning do?
In an interview after the session, Deck said app machine learning has been growing based on two factors: the supply increasing quickly due to better techniques developed to create AI and the demand users have for the promise of AI.
"The promise of AI is that we're carrying not just a camera, but an eye in our pocket, [for example], and being able to have software make decisions based on what we see or an advanced understanding of it," he said. "It helps people make better decisions."
People already use AI technology in their fitness watches. Mobile apps could take this further by aggregating data to predict health risks and warn users if they are following a path that models previously predicted would lead others to be taken to the emergency room. In the enterprise, mobile app machine learning could help business travelers get a ride or put email messages in spam folders.
App machine learning can also allow devices to respond to people's voices. Martin Mitrevski, a technical lead at Netcetera, a software company in Switzerland, works with AI to create conversational user interfaces that can complete tasks, such as creating a list from voice commands.
"Anything you can imagine can be made smarter with AI," Mitrevski said. "Pretty much any industry will be disrupted with AI and machine learning."