Monday, October 31, 2016

Making computers explain themselves

During the Association for Computational Linguistics' Conference on Empirical Methods in Natural Language Processing, a couple of researchers working in MIT's Computer Science and Artificial Intelligence Laboratory also known as (CSAIL) presented a new process that will basically train neural networks to not only provide specific predictions and classifications for there decisions but also a coherent and adequate rationale as to why they made that certain decision. Neural networks are named this because they have the ability to mimic with an approximation the structure of the brain. They are in a basic form composed of a big number of nodes that act most similarly to neurons, and have the capability to do only simple computations but are connected to each other in a unit of complex and dense networks. The process is called "deep learning," where training data is added to a networks existing input codes which will then modify it and feed it to other codes. This process is sequential and goes on as long as data is fed into the network. In order to enable a certain interpretation of a neural nets decision making process, the CSAIL researchers at MIT divided the net into two separate modules that have two different operations. The first module extracts specific segments of test from a certain training data, and then the segments are scored in accordance with their length and their coherence. The second module performs the production and classification tasks.

As such, the data set gives out an accurate test of the CSAIL researchers' program and system. If the first module has successfully extracted a certain amount of phrases, and the second module has connected them with their specific and correct ratings, then that basically means that the system has presented the same basis for judgement that a human annotator did. In some unpublished work, this new technology is being utilized on various test of pathology reports on breast biopsies, where the system learned to extract a test explaining the bases for a pathologists' diagnoses. They are going as far as even using it to analyze mammograms of patients, where the first module extrapolates certain parts of images instead of just segments of the part of text. We can see that having a model that can make predictions and tell you why it is making those certain decisions is an important direction we need to head in.
Reference links:
http://news.mit.edu/2016/making-computers-explain-themselves-machine-learning-1028
http://cs231n.github.io/assets/nn1/neural_net2.jpeg
https://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.graphic1.jpg

Monday, October 24, 2016

Automated screening for childhood communication disorders

On September 22, 2016, researches at the Computer Science and Artificial Intelligence Laboratory at MIT and Massachusetts General Hospital's Institute of Health Professions created a computer system that could help screen and determine if young children have speech and language disorders and potentially provide information for actual diagnosis. The system would be able to analyze audio recordings of children's performances on a basic storytelling test that is standardized. The kids would be presented with a series of images accompanied by a narrative, they would then be asked to retell the story in their own words.

The benefit of this is that it can probably done on a tablet or iPhone using very simplistic tools. This would mean that tests would be widely available at low costs and would be a great addition to society. The researches tested the system's performance using a standard measure called area under the curse, otherwise known as integration in mathematics. This test describes the trade off between identifying members of the population that have a particular disorder, this test would limit false positive tests of a disorder. This means that in the medical literature, a diagnostic test with an area under the curve of 0.7 is in general considered accurate enough to be of good use. During three tests in the clinic, the researcher's system ranged between 0.74 to 0.86, which is in general very good and speaks highly of the system that was created. In order to build the new system, Guttag and Jen Gong, students of the graduate level, one in electrical engineering and the other in computer science, used machine learning. This is where a computer searches a large set of training data for any particular patterns that might correspond to specific classifications, in this specific case, they were looking for patterns and classifications of speech and language disorders. This will in turn help clinicians make more precise diagnoses because they have a system of reassurance added on top of their expertise in their respective field. They also indicate that speech impediments that result from an anatomical physical aspect such as a cleft palate, speech disorders and language disorders both have neurological bases.
Overall this is an amazing creation and could possibly revolutionize the world of clinical medicine. We can further improve the accuracy of a doctors diagnose with the help of technology. Although this creation is not in its final stages yet, the prime test has been passed, and that is the fact that it works. Now comes the next stage where they have to finalize and release the product. 

Reference links:
http://news.mit.edu/2016/automated-screening-childhood-communication-disorders-0922
http://tryengineering.org/sites/default/files/styles/medium/public/majors/169938739-technician-checks-the-voltage.jpg?itok=VASIttqH
http://image.slidesharecdn.com/pptforspeechandlanguage-140821022007-phpapp01/95/speech-and-language-disorders-2-638.jpg?cb=1408587690
http://news.mit.edu/sites/mit.edu.newsoffice/files/styles/news_article_image_top_slideshow/public/images/2016/MIT-Speech-Impairments_0.jpg?itok=ET3cTzEm


Friday, October 21, 2016

Computer graphics (computer science)

Computer graphics is a sub-field of computer science which basically studies methods for digitally synthesizing and changing visual content. Some people think that graphics only studies 3 dimensional visuals, but computer graphics also encompasses 2 dimensional computer graphics and image processing. It also focuses more on the processing part of graphics rather than just the aesthetics aspect of most graphics that we know of. Some connected studies to computer graphics are applied mathematics, computational geometry, computational topology, computer vision, image processing, information visualization, scientific visualization. Some applications of computer graphics include digital art, special effects, video games, visual effects.

There is a subfield/needed understanding of geometry in computer graphics. This is because most figures appear different on the exterior so boundary representations are commonly used like polygonal meshes which are also known as subdivision surfaces. It is important that even fluids and surface texture is taken into consideration when representing objects. The animation part also focuses on how the objects move or deform over time.
Finally, rendering is the most important because that is when simulation takes place. There is light transport or non-photorealistic rendering. Transporting describes how illumination in one scene gets to another. Scattering is how light interacts with the surface at a given point and shading is how material properties vary across each different type of designated surface. Overall computer graphics has been revolutionary in the gaming industry and is worth billions of dollars. It has brought newer processing and advanced graphics that would not have been possible in the past. 


Reference links:
https://en.wikipedia.org/wiki/Computer_graphics_(computer_science)
https://upload.wikimedia.org/wikipedia/commons/8/8e/Blender_2.45_screenshot.jpg\
http://www.nyit.edu/files/degrees/CAS_Degree_ComputerGraphicsBFA_HeroSmall.jpg
http://saksagan.ceng.metu.edu.tr/courses/ceng477//images/face.png

Friday, October 14, 2016

Algorithms

An algorithm is a self-constrained step-by-step set of operations or companions to be executed. Algorithms can perform mathematical calculations, data processing, and/or reasoning tasks that are automated. An example of an algorithm is Euclid's algorithm which was created to determine the maximum common divisor of two integers. An example of this algorithm is below.
 No human is capable of writing all these numbers by hand to find the nth terms of each number. This is where algorithms take care of this and compute within milliseconds. The concept of an algorithm can also be used to define the notion of decidability. This specific notion is essential in explaining how formal systems come into creation starting from a very small set of axioms which are basically statements taken to be true, along with their rules. In basic logic, the time it takes an algorithm to compete cannot be measured because it is not related to a customary physical dimension that actually exists. Algorithms are essential to the way computers process their data. Many computer programs contain algorithms that can calculate an employee paycheck or even a simple task like printing a students report card. Algorithms can be expressed with many kinds of notations, this includes natural languages, pseudocode, flowcharts, drakon-charts, programming languages or control tables. 
We can see that algorithms are the roots of computing. They are used for everything, even in the new technologies and in other fields of science like biology. They help make life easier for most us but we don't really realize the work that is happening behind the screen. With algorithms and programming skills, anything is possible in our world. There are literally no limits. Below is just another example animation of an algorithm that sorts data. 

Reference links:
https://upload.wikimedia.org/wikipedia/commons/6/6a/Sorting_quicksort_anim.gif
https://en.wikipedia.org/wiki/Algorithm
https://upload.wikimedia.org/wikipedia/commons/thumb/d/db/Euclid_flowchart.svg/330px-Euclid_flowchart.svg.png
https://upload.wikimedia.org/wikipedia/commons/4/44/Euclid%27s_algorithm_structured_blocks_1.png
https://en.wikipedia.org/wiki/Axiom

Tuesday, October 4, 2016

Bioinformatics: Computer Science

Bioinformatics is basically an interdisciplinary field that develops methods and software tools to analyze and understand biological data. This field combines many sciences, including computer science, statistics, mathematics and engineering in order to interpret the data. It is both an umbrella term for the bigger body of biological studies that uses computer programming as part of the methods to refer to analysis in the field genomics.

A common use of bioinformatics includes the identification of genes and nucleotides. This method is used to better understand the basis of disease, adaptations, and agricultural species. In a more general explanation, bioinformatics tries to understand principles within nucleic acid and protein sequences. Computers became essential in molecular biology when protein sequences finally became available after Frederick Sanger solved the sequence of insulin in the early 1950's.



Computing has come along way in the field of biology. Currently computational biology has been able to help map and analyze  DNA and protein sequences, build models of vital organs, and even validate and create pharmeceutical drugs. Even though such advancements have been made, the future still holds many bright ideas and creations to come.

Bioinformatics is such a revolutionary field that because of the hard work of many professionals, diseases like cancer now have a higher chance of being managed and understood. Thanks to computer science, we know have fields like bioinformatics that can ultimately change the way we cure diseases and the way we study them.


References:
http://graduatedegrees.online.njit.edu/mscs-resources/mscs-infographics/bioinformatics-how-computer-science-is-changing-biology/
https://en.wikipedia.org/wiki/Bioinformatics
http://www.novozymes.com/en/-/media/Novozymes/en/about-us/our-business/industrial-biotechnology/basic-technologies/PublishingImages/Bioinformatics.png?la=en&hash=275354E1041BA57F24B7ABC0828D6B1E2A19597F
https://www.stcorp.nl/media/pages/57/bioinformatics.jpg
https://www.acsu.buffalo.edu/~yijunsun/lab/images/publicationKeywords.png