Visual Programming for Deep Learning Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in understanding and rapidly grasping deep learning programming due to the complexity of underlying code and the need for extensive pre-processing and model building, overwhelming beginners.

Innovation Solution

A computer-implemented method that presents a visual representation of an artificial neural network using graphical elements, allowing drag-and-drop operations to modify connections and intermediate representations independent of deep learning frameworks, thereby generating code for a target framework.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If developers use traditional deep learning programming with extensive code, then they can build complex neural network models, but beginners are overwhelmed by the massive underlying code and cannot understand or grasp the programming rapidly

Engineering Contradiction:
ImproveEase of understanding deep learning programmingVSAvoidComplexity of underlying code
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the complex deep learning programming process into visual components. Neural network layers are divided into discrete graphical elements that can be individually selected and arranged. This segmentation transforms the monolithic code structure into manageable visual units, making it easier for beginners to understand and manipulate each layer independently without being overwhelmed by the entire codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediate visual representation layer between the user and the underlying code. This visual interface acts as a mediator that translates user-friendly drag-and-drop operations into the complex code structures required by deep learning frameworks. Beginners interact with simplified visual elements rather than directly with the complex underlying code, bridging the gap between simplicity and functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If developers write extensive code for data pre-processing and model building, then they can create functional deep learning models, but the process becomes time-consuming and difficult to grasp rapidly

Engineering Contradiction:
ImproveSpeed of grasping deep learning programmingVSAvoidTime spent on pre-processing and model building
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by automatically generating code from visual arrangements. When users arrange graphical elements representing neural network layers, the system preemptively generates the corresponding code structure, data pre-processing requirements, and model building configurations. This eliminates the need for users to manually write extensive pre-processing and model building code, significantly reducing the time required to create functional deep learning models.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides self-service by automatically handling code generation and compilation based on visual inputs. Once users arrange the graphical elements representing their desired neural network architecture, the system autonomously generates the complete code, performs necessary transformations, and prepares the model for execution without requiring users to manually write or debug extensive code, thereby dramatically increasing productivity.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If developers manually write and modify code for neural network architecture, then they can implement specific models, but the process lacks visual intuition and requires extensive coding knowledge

Engineering Contradiction:
ImproveEase of modifying neural network connectionsVSAvoidDifficulty of visualizing neural network structure
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent transitions the neural network representation from a one-dimensional code structure to a two-dimensional visual layout. Neural network layers and connections are displayed spatially in a graphical interface, allowing users to visually perceive the network architecture, data flow, and layer relationships. This dimensional transformation provides intuitive visual feedback that is impossible to obtain from text-based code alone, making it easier to understand and modify network structures.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent uses visual attributes such as color coding to represent different neural network layer types, activation functions, and connection properties. Graphical elements change color or display different visual characteristics based on their function and configuration state, providing immediate visual feedback about the network structure and helping users quickly identify and modify specific components without needing to parse through extensive code.

Inventive Principle:
Principle #32Color changes

Data Source

PatentUS20240370237A1Visual Programming for Deep Learning
Publication Date: 2024.11.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20240370237A1 patent drawing
  • US20240370237A1 patent drawing
  • US20240370237A1 patent drawing

AI summary

Implementations of the present disclosure relate to visual programming for deep learning. A computer-implemented method comprises presenting a visual representation of an artificial neural network, the visual representation comprising graphical elements representing layers of the artificial neural network; in response to receiving a drag-and-drop operation on the graphical elements, modifying an intermediate representation of the artificial neural network, wherein the intermediate representation is independent of a deep learning framework and the drag-and-drop operation is configured to modify connections between the graphical elements; and modifying, based on the intermediate representation of the artificial neural network, code of the artificial neural network for a target deep learning framework.