Convolutional neural networks

Artificial intelligence elevates the capabilities of the machines closer to human-like level at an increasing rate. Since it is an issue of great interest, many fields of science have taken a big leap forward in recent years.

One of the goals of artificial intelligence is to enable machines to observe the world around them in a human-like way. This is possible through the application of neural networks. Neural networks are mathematical structures that, at their base, are inspired by the natural neurons found in the human nerves and brain.

Surely you have felt the presence of neural networks in everyday life many times, for example in:

  • face detection and recognition in smartphone photos,
  • recognition of voice commands by the virtual assistant,
  • autonomous cars.

The potential of neural networks is enormous. The examples listed above represent merely a fraction of current applications. They are, however, related to a special class of neural networks, called convolutional neural networks, CNNs, or ConvNet (Convolutional Neural Networks).

Image processing and neural networks

To explain the idea of convolutional neural networks, we will focus on their most common application – image processing. A CNN is an algorithm that can take an input image and classify it according to predefined categories (e.g. the breed of dog). This is be achieved by assigning weights to different shapes, structures, objects.

Convolutional networks, through training, are able to learn which specific features of an image help to classify it. Their advantage over standard deep networks is that they are more proficient at detecting intricate relationships between images. This is possible thanks to the use of filters that examine the relationship between adjacent pixels.

General RGB image size scheme
Figure 1 General RGB image sizing scheme

Each image is a matrix of values, the number of which is proportionate to its width and height in pixels. For RGB images, the image is characterised by three primary colours, so each pixel is represented by three values. ConvNet’s task is to reduce the size of the image to a lighter form. However, it happens without losing valuable features, i.e. those that carry information crucial for classification.

CNN has two key layers. The first one is convolutional layer.

Convulational layer
Animation of RGB image filtering with 3x3x3 filter
Figure 2 Animation of RGB image filtering with a 3x3x3 filte

The animation above shows an RGB image and a 3x3x3 filter moving through it with a defined step. The step is the value in pixels by which the filter moves. We can apply the “zero padding” option, i.e. filling with zeros (white squares). This procedure helps preserve more information at the expense of efficiency.

Subsequent values of the output matrix are calculated as follows:

  • multiplying the values in a given section of the image by the filter (after the elements),
  • summing up the calculated values for a given channel,
  • summing up the values for each channel taking into account the bias (in this case equal to 1).

It is worth noting that the filter values for a particular channel may differ. The task of the convolution layer, is to extract features such as edges, colours, gradients. Subsequent layers of the network – using what the previous layers have determined – can detect increasingly complex shapes. Much like the layers of an ordinary network, the convolution layer is followed by an activation layer (usually a ReLU function), introducing non-linearity into the network.

We can interpret the result of the convolution with each filter as an image. Many such images formed by convolution with multiple filters are multi-channel images. An RGB image is something very similar – it consists of 3 channels, one for each colour. The output of the convolution layer, however, does not consist of colours per se, but certain “colour-shapes” that each filter represents. This is also responsible for noise reduction. The most popular method is “max pooling”.

Typically multiple filters are used, so that the convolution layer increases the depth, i.e. the number of image channels.

Bonding layer

Another layer, called the bonding layer, has the task of reducing the remaining dimensions of the image (width and height), while retaining key information needed, e.g. for image classification.

Scheme of the connection operation
Figure 3 Diagram of the merging operation

The merging operation is similar to the one applied in the convolution layer. A filter and step are defined. The subsequent values of the output matrix are the maximum value covered by the filter.

Together, these layers form a single layer of the convolutional network. Once the selected number of layers has been applied, the resulting matrix is “flattened out” to a single dimension. It means that the width and height dimensions are gradually replaced by a depth dimension. The result of the convolutional layers translates directly into the input to the next network layers, usually the standard fully connected ones (Dense Layers). This allows the algorithm to learn the non-linear relationships between the features determined by the convolution layers.

The last layer of the network is the Soft-Max layer. It makes it possible to obtain values for the probabilities of class membership (for example, the probability that there is a cat in the image). During training, these are compared with the desired classification result in the applied cost function. Then, through a back-propagation algorithm, the network adjusts its weights to minimise the error.

Convolutional neural networks are an important part of the machine learning development. They contribute to the progress of automation and help extend to human perceptual abilities. Their capabilities will continue to grow with the computing power of computers and the amount of available data.

References

[1] https://medium.com/@raycad.seedotech/convolutional-neural-network-cnn-8d1908c010ab

[2] https://medium.com/@RaghavPrabhu/understanding-of-convolutional-neural-network-cnn-deep-learning-99760835f148

[3] https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53

Innovation in a company

Today’s world is characterised by constant technological progress. You hear about new products, services, methods and other things virtually every day. Moreover, they are often referred to as “innovative” as well. This term can also be applied to companies, and companies increasingly often call themselves “innovative”, too. In today’s article, we will take a look at what innovation means in a company and how to promote it.

What is innovation?

Innovation is defined as “a set of competencies of an organisation to continuously discover sources of new solutions, as well as to absorb them from outside and generate on one’s own, and to implement and diffuse them (make them commonplace)”. Put simply, it is the ability to generate new ideas; the desire to improve, to create something new, and then implement and commercialise these new solutions. Innovation manifests itself in thinking outside the box, seeking solutions and going beyond the daily routine.

Virtually everyone knows companies like Apple, Google and Microsoft. Undoubtedly, these companies have achieved enormous global success through their innovation. This shows that the world is open to innovation and the demand for it is increasing. This also means that companies that do not follow the path of innovation may lose their competitiveness and ultimately cease to exist in a few years’ time. So do companies that do not have a charismatic leader like Steve Jobs or capital equal to that of Google have a chance to become innovative? The answer is a resounding YES! This is since innovation is not a trait that only the chosen few can attain it is an attitude that anyone can develop.

Attitude is key

Some people are born innovators. They find it remarkably easy to come up with new ideas. But what about the people who spend hours coming up with anything new and the results of their efforts still leave much to be desired? Well, we have one piece of advice for them — attitude is key! Innovation is primarily a kind of attitude that you can develop. The most important thing about being innovative is having an open mind. This is the driving force behind innovation. You will not invent anything new by repeating the same activities every day and cutting yourself off from any contact with the outside world.

This is where another innovation-driving factor comes in, i.e. contact. A lot of ideas come from outside as a result of conversations with others. That is why it is so vital to spend time with people, as well as to talk to them, and get their opinions on various topics. This allows you to trigger something within yourself, which may result in new ideas and solutions. Therefore, if you want to create innovation in your company, you have to start by changing your mindset.

“Architects of Innovation”

A key role in driving innovation in a company is played by leaders, who were dubbed “innovation architects” in “Innovation as Usual”, a book by Thomas Wedell-Wedellsborg and Paddy Miller. The above authors believe that the leader’s primary task is to create a culture of innovation in the company, i.e. conditions in which creativity is inherent in the work of every employee, regardless of their position. Here, they point to a mistake often made, which is the desire to create something innovative at a moment’s notice. To that end, companies hold brainstorming sessions and send their staff off to workshops that are meant to help them come up with new ideas.

However, this often has the opposite effect. Employees return to a job where they repeat the same thing every day, which kills their creativity. This is why it is so important to develop a culture of innovation that drives innovation on a daily basis. Such culture can manifest itself in the way work is organised, as well as the development of new habits, practices and rituals to help trigger new ideas.

Yet another task facing managers is the ability to motivate and support their employees. Leaders should serve as guides for their teams, as well as be able to spark creativity and mobilise them to generate new ideas. To enable this, the book’s authors have proposed a set of “5+1 keystone behaviours”, which include focus, insight, modification, selection and diplomacy. All these behaviours should be supported by perseverance in introducing innovation on a daily basis. The introduction of the “5+1 keystone behaviour” model in a company has a significant impact on shaping an attitude of innovation among employees. This ensures that the creation of new ideas is not a one-off activity but rather a permanent part of the company’s system.

Innovation management

Innovation is becoming increasingly vital. Many companies now set up dedicated departments to handle their innovation activities. Therefore, the introduction of an innovation management process is a key step in creating an innovative company.

The figure below shows the four pillars that should comprise an innovation management process according to Instytut Innowacyjności Polska.

Pillars of the innovation management process by Institute of Innovation Poland
Figure 1 Pillars of the innovation management process according to Instytut Innowacyjności Polska

The first and most important pillar in innovation management is diagnosis. Diagnosis is construed as the determination of the company’s previous innovation level, as well as an analysis of its environment in terms of its ability to create innovation. A company may carry out an innovation diagnosis on its own or have an outside company carry out a so-called “innovation audit”.

In the second step, an organisational structure and processes need to be put in place to implement the process of generating innovative ideas in the company.

The next step is to come up with new ideas and manage the process of their implementation.

The final pillar of innovation management is determining how innovation is to be funded. Funding may be provided through both internal and external sources (grants, investors, etc.).

The innovation management process is a must for any company that wants to successfully implement innovation. It makes it possible to effectively supervise the implementation of innovations, measure the company’s innovation level and control the expenses incurred in this area. By introducing this process, the company demonstrates that it deems innovation a top priority.

Conclusions

Innovation is certainly an issue that is becoming increasingly important. The high level of computerisation and technological progress makes the demand for innovation ever greater. Therefore, to stay in the market, companies should follow the path of innovation and shape this trait within their structures. As “innovation architects”, leaders play a vital role in this process and are tasked with creating a company system that triggers creative ideas in employees every day. In addition, a leader should be a kind of guide who motivates his or her team to act creatively. Creating innovation in a company is therefore a continuous, day-to-day process. However, there are solutions that support process management, such as Data Engineering. Utilising cutting-edge IoT technology to collect and analyse information, Data Engineering enables companies to make quick and accurate decisions.

References

[1] https://www.instytutinnowacyjnosci.pl/

[2] http://it-manager.pl/kultura-innowacyjnosci/

[3] Miller P., Wedell-Wedellsborg T., “Innovation as Usual: How to Help Your People Bring Great Ideas to Life”

Internet of Things

IoT is a broad term, often defined in different ways. To get a good understanding of what the Internet of Things actually is, it’s best to break the term down into few parts.

What is referred to as a “Thing” in the Internet of Things are objects, animals and even people equipped with smart devices (sensors) to collect certain information. So that thing could be either a fridge that uses a smart module or an animal with a smart band applied to it that monitors its vital functions. Devices communicate to send and receive data. In order for them to communicate, they need a network connection, and this is referred to as the “Internet” in IoT. This connection can be made with a variety of data transmission technologies. We can mention Wi-Fi, 5G networks, Bluetooth, as well as more specialised protocols such as Zigbee, which, thanks to its low power consumption, is great for IoT devices where lifespan is of key importance, or Z-Wave often used in smart building systems.

It’s a good idea to mention here that not every IoT device needs to have direct access to the Internet. The data collected by IoT devices is then uploaded and analysed. In order to efficiently collect and analyse large data sets, as well as to ensure high system scalability, cloud technologies are often used. In this case, Internet of Things devices can send data to the cloud via an API ( (API gateway). This data is then processed by various software and analytical systems. Big Data, artificial intelligence and machine learning technologies are used to process data.

IoT applications

IoT has many various applications, using household items, lighting or biometric devices, to name a few.

Internet of Things
Figure 1 Internet of Things

The figure above shows 101 terms related to the Internet of Things, divided into categories. It’s plain to see that there are many technologies associated with IoT, ranging from connectivity issues, data processing and analysis to security and IoT network architecture. We will not describe the above-mentioned technologies in this article, but we should bear in mind what an immensely extensive field IoT is and how many other technologies are involved.

The Internet of Things is developing at a very fast pace, recording high annual growth rates. According to various estimates, the IoT market will grow at a rate of 30 per cent in the next few years, and in Poland this rate could reach up to 40 per cent. By 2018, there were around 22 billion connected Internet of Things devices, and it is estimated that this number could be up to as many as 38.6 billion devices by 2025.

The Internet of Things in the future

The Internet of Things is finding its way into more and more areas of our lives. Household goods and lighting items are things we use pretty much every day. If we add some “Intelligence” to ordinary objects, it becomes easier to manage the entire ecosystem of our home or flat. As a result, we will be able to optimise the costs of equipment wear and tear and their working time. The collection of huge amounts of data, which will then be processed and analysed, is expected to bring about even better solutions in the future. In recent years, it’s often been mentioned that “Data is the gold of the 21st century.” and IoT is also used to collect this data. With IoT progressing like that, it won’t be long before smart devices are with us in the vast majority of our daily activities.

Controversy around the Internet of Things

The development of the Internet of Things will bring many changes to everyday life. The biggest problem with this is security. Because of the amount of data collected by devices, which very often have no or very low levels of security, exposes the user to breach or having no control over such data. Another issue is the dispute over who should have access to the data. Questions of morality are raised here, such as whether large corporations should be able to eavesdrop on the user on a daily basis. The companies explain their modus operandi by the fact that the data collected is a tool for the development of the offered services.

Opponents, on the other hand, see it the other way around, considering an intrusion into user privacy and uncertainty with where the collected data may end up. However, a new avenue is emerging, namely –  the use of blockchain technology to securely store data in the IoT network. By using a decentralised blockchain network, there will be no central entity with control over user data. The technology also ensures the non-repudiation of the data, meaning the certainty that the data has not been modified by anyone.

Who will benefit form the Internet of Things?

IoT is targeting different industries. Solutions are being developed for both the consumer market and the business market. The companies involved in this area will have a substantial platform to develop their solutions. The upcoming revolution will also change many areas of our lives. Also, the ordinary user will also get something out it, as he or she will have access to many solutions that will make his or her life easier. The Internet of Things presents tremendous opportunities, but there is no denying that it can also bring entirely new risks. So – in theory – the IoT will benefit everyone. You can read more about the security of IoT devices in our article.

BFirst.Tech and IoT

As a company specialising in the new technology sector, we are not exactly sleeping on the subject of IoT either. Working with Vemmio, we are developing the design of a voice assistant to manage a house or flat in a Smart Home formula. Our solution will implement a voice assistant on the central control device of the Smart Home system. Find out more about our projects here.

With biometric authentication, the first thing that gets checked is the voice that issued the command to activate the device. If the voice authentication is positive, the device is ready to operate and issue commands through which home appliances can be managed. That’s exactly the idea behind the Smart Home. This solution makes it possible to manage a flat or smaller segments of it or even an entire building.

Individual household appliances, lighting or other things are configured with a device that helps us manage our farm. This is the technical side, where the equipment has to be compatible with the management device. This puts the control centre in one place, and today operating  entire system can be managed with a smartphone is already a standard. With the voice assistant feature, the entire system can be controlled without having to physically use the app. Brewing coffee in the coffee machine, adjusting the lighting or selecting an energy-saving programme will be all possible with voice commands.

References

[1] http://www.ericsson.com/en/mobility-report/reports/november-2019?gclid=CjwKCAiAvonyBRB7EiwAadauqWaie96-SXyvRu_e7gBRgaYd8mozXvppEE_6LPCAeA3TsR6l5sQuNxoCxUwQAvD_BwE&gclsrc=aw.ds

[2] http://www.sas.com/content/dam/SAS/en_us/doc/whitepaper1/non-geek-a-to-z-guide-to-internet-of-things-108846.pdf

Introduction to neural networks

The topic of neural networks in the IT area has become very popular in recent years. Neural networks are not a new concept, as they were already popular in the 1970s. However, their real development took place in the 21st century due to the technology’s huge leap forward. Neural networks are one of the areas of artificial intelligence (AI). The interest in neural networks is growing, thus forcing us to constantly develop and improve them.

Characteristics

In order to describe the way neural networks work, it is worth referring (in a certain simplification) to the way the human nervous system works. The characteristic of the functionality is acting as a biological system. Despite enormous progress and the use of innovative solutions, today’s networks still are not able to act as well as the human brain. However, it can’t be ruled out that in the future such an advanced stage of development will be reached.

Neural network structure

The neural network consists of a certain number of neurons. The simplest neural network is called perceptone, which consists of only one artificial neuron. Input data with assigned weight scales are sent to the perceptone – it determines the final result of a parameter. This set of data is later sent to the summation block. The summation block is just a pattern, an algorithm prepared by programmers. Summing all inputs gives a result, which in today’s advanced types of artificial neurons answers the form of a real number. The result informs about the type of decision that was made based on the calculations.

Illustrative diagram of the perceptron operation
Img 1 Schematic diagram of how a perceptron works. Each of the 4 input elements is multiplied by its corresponding weights. The products are summed (summation block) and the sum is passed to the activation function (activation block), whose output is also the output of the perceptron.

The usage of neural networks

When it comes to the development of AI, it is closely connected to the development of neural networks. An unquestionable advantage of networks is that they have a wide range of applications. Furthermore, they leave room for unlimited possibilities for further development. Another advantage of it is that they deal well with large data sets, which are sometimes very difficult for humans. What’s more, they can adapt to the new situations when new variables appear. However, most available on the market programs do not have this possibility.

Neural networks’ ability to work based on damaged data is still a field of development. They will find applications in a growing number of areas, mainly in finance, medicine, and technology. Neural networks will appear successively in areas that require solutions related to prediction, classification, and control. They will find their application wherever creating scenarios or making decisions is based on many variables.

References

[1] http://businessinsider.com.pl/technologie/czym-sa-sieci-neuronowe/pwtfrsy

[2] http://pclab.pl/art71255-2.html