Monthly Archives: December 2018

Phil 12.31.18

7:00 – 4:30 ASRC NASA

  • Set up appt for physical
  • This is fabulous! Seeing Theory
    • Seeing Theory was created by Daniel Kunin while an undergraduate at Brown University. The goal of this website is to make statistics more accessible through interactive visualizations (designed using Mike Bostock’s JavaScript library D3.js).
  • Working on cleaning up and validating my Very Simple Perceptron class. I think I’m going to write the whole thing up as its own blog post
  • Why Trump Reigns as King Cyrus
    • This isn’t the religious right we thought we knew. The Christian nationalist movement today is authoritarian, paranoid and patriarchal at its core. They aren’t fighting a culture war. They’re making a direct attack on democracy itself.

 

Phil 12.29.18

Credibility in Online Social Networks: A Survey

  • The importance of information credibility in society cannot be underestimated given that it is at the heart of all decision-making. Generally, more information is better; however, knowing the value of this information is essential for decision-making processes. Information credibility defines a measure of the fitness of information for consumption. It can also be defined in terms of reliability, which denotes the probability that a data source will appear credible to the users. A challenge in this topic is that there is a great deal of literature that has developed different credibility dimensions. Additionally, information science dealing with online social networks has grown in complexity, attracting interest from researchers in information science, psychology, human-computer interaction, communication studies, and management studies, all of whom have studied the topic from different perspectives. This work will attempt to provide an overall review of the credibility assessment literature over the period 2006–2017 as applied to the context of the microblogging platform, Twitter. Known interpretations of credibility will be examined, particularly as they relate to the Twitter environment. In addition, we investigate levels of credibility assessment features. We then discuss recent works, addressing a new taxonomy of credibility analysis and assessment techniques. At last, a cross-referencing of literature is performed while suggesting new topics for future studies of credibility assessment in social media context.

Phil 12.28.18

7:00 – 4:30 ASRC NASA

  • Human mind excels at quantum-physics computer game 3o6ozkvdtdarNDhGEw
  • Continuing on the proposal:
    • [Optional] What are your success metrics for the AI system (i.e., how will you know whether the system has succeeded or failed)?
      • Discuss the spectrum of success, from classification of behavior type by syntax patterns (LSTM) to human-based manifold learning (t-sne, xxx2vec, etc) for map generation, to development of new spatial neural frameworks, potentially based on grid neurons.
    • [Optional] What else we should know?
      • I want to say something about how this is based on animal studies, and how the idea of intelligence being expensive computation has to affect any kind of collective system. Still thinking about that.
      • Also, the economic power of maps, as discussed here
    • How will you sustain and grow the impact of this work beyond this grant? How could your project and its impact grow beyond what you’ve proposed in this application?
    • Need to add a brief description of each paper and include the venue and a link

Phil 12.27.18

7:00 – 11:00 PhD

  • How Much of the Internet Is Fake? Turns Out, a Lot of It, Actually.
    • Fake people with fake cookies and fake social-media accounts, fake-moving their fake cursors, fake-clicking on fake websites — the fraudsters had essentially created a simulacrum of the internet, where the only real things were the ads.
  • More proposal. With respect to bot traffic, there is standalone, monolithic and complex behaviors that can also be tracked and used to assess the underlying information. Adversarial herding is an example.
  • Ran out of steam. Hung up on these questions:
    • [Optional] What are your success metrics for the AI system (i.e., how will you know whether the system has succeeded or failed)?
      • Discuss the spectrum of success, from classification of behavior type by syntax patterns (LSTM) to human-based manifold learning (t-sne, xxx2vec, etc) for map generation, to development of new spatial neural frameworks, potentially based on grid neurons.
    • [Optional] What else we should know?
      • I want to say something about how this is based on animal studies, and how the idea of intelligence being expensive computation has to affect any kind of collective system. Still thinking about that.
      • Also, the economic power of maps, as discussed here
    • How will you sustain and grow the impact of this work beyond this grant? How could your project and its impact grow beyond what you’ve proposed in this application?
    • Need to add a brief description of each paper and include the venue and a link

Phil 12.26.18

7:00 – 9:00, 1:00 – 4:30

  • Proposal framing: more on global maps and navigating in common spaces. What this means to points of view, etc.
  • Good progress. Should finish tomorrow

Phil 12.24.18

PhD 7:00 – 3:00

Phil 12.21.18

7:00 – 4:30 ASRC PhD/NASA/NOAA

  • Spatial Representations in the Human Brain
    • While extensive research on the neurophysiology of spatial memory has been carried out in rodents, memory research in humans had traditionally focused on more abstract, language-based tasks. Recent studies have begun to address this gap using virtual navigation tasks in combination with electrophysiological recordings in humans. These studies suggest that the human medial temporal lobe (MTL) is equipped with a population of place and grid cells similar to that previously observed in the rodent brain. Furthermore, theta oscillations have been linked to spatial navigation and, more specifically, to the encoding and retrieval of spatial information. While some studies suggest a single navigational theta rhythm which is of lower frequency in humans than rodents, other studies advocate for the existence of two functionally distinct delta–theta frequency bands involved in both spatial and episodic memory. Despite the general consensus between rodent and human electrophysiology, behavioral work in humans does not unequivocally support the use of a metric Euclidean map for navigation. Formal models of navigational behavior, which specifically consider the spatial scale of the environment and complementary learning mechanisms, may help to better understand different navigational strategies and their neurophysiological mechanisms. Finally, the functional overlap of spatial and declarative memory in the MTL calls for a unified theory of MTL function. Such a theory will critically rely upon linking task-related phenomena at multiple temporal and spatial scales. Understanding how single cell responses relate to ongoing theta oscillations during both the encoding and retrieval of spatial and non-spatial associations appears to be key toward developing a more mechanistic understanding of memory processes in the MTL.
  • Three Kinds of Spatial Cognition
    • Nora S. Newcombe (Scholar)
    • Spatial cognition is often (but wrongly) conceptualized as a single domain of cognition. However, humans function in more than one way in the spatial world. We navigate, as do all mobile animals, but we also manipulate objects using distinctive hands with opposable thumbs, unlike other species. In fact, an important characteristic of human adaptation is the ability to invent tools. Of course, another central asset is human symbolic ability, which includes the ability to spatialize thought in abstractions such as maps, graphs, and analogies. Thus, there are at least three kinds of spatial cognition with three separable functions. Navigation involves moving around the environment to find food and shelter, and to avoid danger. It draws on several interconnected neural subsystems that track movement and encode the location of external entities with respect to each other and the moving self (i.e., extrinsic coding), and it integrates these inputs to achieve best‐possible estimates. Human navigation is characterized by a great deal of individual variation. Tool use and invention involves the mental representation and transformation of the shapes of objects (i.e., intrinsic coding). It relies on substantially different neural subsystems than navigation. Like navigation, it shows marked individual differences, which are related to variations in learning in science, technology, engineering, and mathematics (STEM). Spatialization is an aspect of human symbolic skill that cuts across multiple cognitive domains and involves many kinds of spatial symbol systems, including language, metaphor, analogy, gesture, sketches, diagrams, graphs, maps, and mental images. These spatial symbol systems are vital to many kinds of learning, including in STEM. Future research on human spatial cognition needs to further delineate the origins, development, neural substrates, variability, and malleability of navigation, tool use, and abstract spatial thinking, as well as their interconnections to each other and to other cognitive skills.
  • A little bit adding to Normal Accidents notes
  • Working on saving out to history and item table
  • Turns out that if you want to retrieve floats from a postgres table using psycopg2, you have to register a custom handler:
    DEC2FLOAT = psycopg2.extensions.new_type(
        psycopg2.extensions.DECIMAL.values,
        'DEC2FLOAT',
        lambda value, curs: float(value) if value is not None else None)
    psycopg2.extensions.register_type(DEC2FLOAT)
  • Learned about dollar-quoting as per https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING
  • To execute big inserts with psycopg2, you need to set autocommit = True
    self.conn = psycopg2.connect(config_str)
    self.conn.autocommit = True
  • And you should use try/catch
    def query_no_result(self, sql: str) -> bool:
        try:
            self.cursor.execute(sql)
            desc = self.cursor.statusmessage
            return True
        except:
            print("unable to execute: {}".format(sql))
            return False

 

Phil 12.20.18

7:00 – 4:00 ASRC NASA/PhD

  • Goal-directed navigation based on path integration and decoding of grid cells in an artificial neural network
    • As neuroscience gradually uncovers how the brain represents and computes with high-level spatial information, the endeavor of constructing biologically-inspired robot controllers using these spatial representations has become viable. Grid cells are particularly interesting in this regard, as they are thought to provide a general coordinate system of space. Artificial neural network models of grid cells show the ability to perform path integration, but important for a robot is also the ability to calculate the direction from the current location, as indicated by the path integrator, to a remembered goal. This paper presents a neural system that integrates networks of path integrating grid cells with a grid cell decoding mechanism. The decoding mechanism detects differences between multi-scale grid cell representations of the present location and the goal, in order to calculate a goal-direction signal for the robot. The model successfully guides a simulated agent to its goal, showing promise for implementing the system on a real robot in the future.
  • Path integration and the neural basis of the ‘cognitive map’
    • Accumulating evidence indicates that the foundation of mammalian spatial orientation and learning is based on an internal network that can keep track of relative position and orientation (from an arbitrary starting point) on the basis of integration of self-motion cues derived from locomotion, vestibular activation and optic flow (path integration).
    • Place cells in the hippocampal formation exhibit elevated activity at discrete spots in a given environment, and this spatial representation is determined primarily on the basis of which cells were active at the starting point and how far and in what direction the animal has moved since then. Environmental features become associatively bound to this intrinsic spatial framework and can serve to correct for cumulative error in the path integration process.
    • Theoretical studies suggested that a path integration system could involve cooperative interactions (attractor dynamics) among a population of place coding neurons, the synaptic coupling of which defines a two-dimensional attractor map. These cells would communicate with an additional group of neurons, the activity of which depends on the conjunction of movement speed, location and orientation (head direction) information, allowing position on the attractor map to be updated by self-motion information.
    • The attractor map hypothesis contains an inherent boundary problem: what happens when the animal’s movements carry it beyond the boundary of the map? One solution to this problem is to make the boundaries of the map periodic by coupling neurons at each edge to those on the opposite edge, resulting in a toroidal synaptic matrix. This solution predicts that, in a sufficiently large space, place cells would exhibit a regularly spaced grid of place fields, something that has never been observed in the hippocampus proper.
    • Recent discoveries in layer II of the medial entorhinal cortex (MEC), the main source of hippocampal afferents, indicate that these cells do have regularly spaced place fields (grid cells). In addition, cells in the deeper layers of this structure exhibit grid fields that are conjunctive for head orientation and movement speed. Pure head direction neurons are also found there. Therefore, all of the components of previous theoretical models for path integration appear in the MEC, suggesting that this network is the core of the path integration system.
    • The scale of MEC spatial firing grids increases systematically from the dorsal to the ventral poles of this structure, in much the same way as is observed for hippocampal place cells, and we show how non-periodic hippocampal place fields could arise from the combination of inputs from entorhinal grid cells, if the inputs cover a range of spatial scales rather than a single scale. This phenomenon, in the spatial domain, is analogous to the low frequency ‘beats’ heard when two pure tones of slightly different frequencies are combined.
    • The problem of how a two-dimensional synaptic matrix with periodic boundary conditions, postulated to underlie grid cell behaviour, could be self-organized in early development is addressed. Based on principles derived from Alan Turing’s theory of spontaneous symmetry breaking in chemical systems, we suggest that topographically organized, grid-like patterns of neural activity might be present in the immature cortex, and that these activity patterns guide the development of the proposed periodic synaptic matrix through a mechanism involving competitive synaptic plasticity.
  • Wormholes in virtual space: From cognitive maps to cognitive graphs
    • Cognitive maps are thought to have a metric Euclidean geometry.
    • Participants learned a non-Euclidean virtual environment with two ‘wormholes’.
    • Shortcuts reveal that spatial knowledge violates metric geometry.
    • Participants were completely unaware of the wormholes and geometric inconsistencies.
    • Results contradict a metric Euclidean map, but support a labelled ‘cognitive graph’.
  • Back to TimeSeriesML
    • Encryption class – done
      • Create a key and save it to file
      • Read a key in from a file into global variable
      • Encrypt a string if there is a key
      • Decrypt a string if there is a key
    • Postgres class – reading part is done
      • Open a global connection and cursor based on a config string
      • Run queries and return success
      • Fetch results of queries as lists of JSON objects

Phil 12.19.18

7:00 – 4:30 ASRC PhD/NASA

  • I think the IEEE paper with Antonio should be something on the math behind diversity/chaos <-> ensembles <-> hierarchies/stampedes
  • Continuing with Normal Accidents
  • Thinking about costly signalling (economics, and more generally) WRT stampede theory. It’s a form of friction. Proof-of-work could be adaptively added to a system to inhibit stampedes?
    • In contract theorysignalling is the idea that one party (termed the agent) credibly conveys some information about itself to another party (the principal). For example, in Michael Spence’s job-market signalling model, (potential) employees send a signal about their ability level to the employer by acquiring education credentials. The informational value of the credential comes from the fact that the employer believes the credential is positively correlated with having greater ability and difficult for low ability employees to obtain. Thus the credential enables the employer to reliably distinguish low ability workers from high ability workers.
  • Tweak optimizer. Change callback method to replace_with_your_method(), and add some documentation on how to use the classes
  • Move clustering paper to LaTex folder – done!
  • Pinged Antonio about the new paper ideas
  • More predictive analytics? Kind of – setting up to read and write out time series to db
  • Upgrading my postgreSQL, to read/write from a table
    • Installed drivers and python packages
    • Reading and writing in the IDE
      • Created and populated a dummy data table
    • Reading in python. Writing is next
  • I was thinking that if we run out of D&D data for other map configurations, that I can use the current data with some repurposing (replace orc with xxx) to create conversations about other environments using human speech. Kind of like PCA for DNA.

Phil 12.17.18

7:00 – 4:30 ASRC NASA/PhD

  • Ted Radio Hour interview with Margaret Heffernan, who spoke about her book, Willful Blindness:
    • “Companies that have been studied for willful blindness can be asked questions like, are there issues at work that people are afraid to raise? And when academics have done studies like this of corporations in the United States, what they find is 85 percent of people say yes. Eighty-five percent of people know there’s a problem, but they won’t say anything. And when I duplicated the research in Europe, asking all the same questions, I found exactly the same number. And what’s really interesting is that when I go to companies in Switzerland, they tell me this is a uniquely Swiss problem. And when I go to Germany, they say, oh yes, this is the German disease. And when I go to companies in England they say, oh yeah, the British are really bad at this. And the truth is, this is a human problem. We’re all, under certain circumstances, willfully blind.”
    • I’ve been thinking about this a lot because when I say, well, why don’t people speak up? What I get is, oh, it’s the culture. And I think, well, what is the culture? The culture is the accumulation of everybody’s actions. And in many of the organizations I work with, change starts in very unexpected places because people just decide, I want to do this or I want to try this. And then they discover they don’t get shot. And then they discover that, actually, now, they’ve got a really exciting project. You know, I think the most dangerous thing in organizations is silence. It’s all those brains whizzing around full of observations and insight and ideas that are not being articulated.
    • I think that that the 15% who do speak out are Nomads. They are mis-aligned with the culture and as such it’s 1) Easier to see problems and solutions. 2) an inability to not behave independently.
  • Bayesian Layers: A Module for Neural Network Uncertainty
    • We describe Bayesian Layers, a module designed for fast experimentation with neural network uncertainty. It extends neural network libraries with layers capturing uncertainty over weights (Bayesian neural nets), pre-activation units (dropout), activations (“stochastic output layers”), and the function itself (Gaussian processes). With reversible layers, one can also propagate uncertainty from input to output such as for flow-based distributions and constant-memory backpropagation. Bayesian Layers are a drop-in replacement for other layers, maintaining core features that one typically desires for experimentation. As demonstration, we fit a 10-billion parameter “Bayesian Transformer” on 512 TPUv2 cores, which replaces attention layers with their Bayesian counterpart.
  • Continuing with Normal Accidents
  • Nice interactive on disinformation on Twitter
  • The universal decay of collective memory and attention
    • Collective memory and attention are sustained by two channels: oral communication (communicative memory) and the physical recording of information (cultural memory). Here, we use data on the citation of academic articles and patents, and on the online attention received by songs, movies and biographies, to describe the temporal decay of the attention received by cultural products. We show that, once we isolate the temporal dimension of the decay, the attention received by cultural products decays following a universal biexponential function. We explain this universality by proposing a mathematical model based on communicative and cultural memory, which fits the data better than previously proposed log-normal and exponential models. Our results reveal that biographies remain in our communicative memory the longest (20–30 years) and music the shortest (about 5.6 years). These findings show that the average attention received by cultural products decays following a universal biexponential function.
  • Zach walkthough
    • Yarn Workspaces
    • NextJS – Tools for developing React Apps – check the github repo to see, for example, how to roll your own web server
    • REACT hooks api
  • Got the basic recursion piece of the optimizer working right. Works for ints, floats, and strings:
    def cascading_step(self):
        self.cur_val = self.range_array[self.index]
        print("{} cur_val = {}".format(self.name, self.cur_val))
    
        child_complete = True
        if self.child:
            child_complete = self.child.cascading_step()
    
        if child_complete:
            self.index += 1
            if self.index >= len(self.range_array):
                self.index = 0
                return True
        return False
  • And here’s the first working test:
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_0
    step 0 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_1
    step 1 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_2
    step 2 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_0
    v1 cur_val = v1_3
    step 3 -----------
    v3 cur_val = v3_0
    v2 cur_val = v2_1
    v1 cur_val = v1_0

     

Phil 12.14.18

7:00 – 4:30 ASRC PhD/NASA

  • Sent Greg a couple of quick notes on using CNNs to match bacteria to phages.
  • Continuing with Normal Accidents
  • A Digital Test of the News: Checking the Web for Public Facts – Workshop report, December 2018
    • The Digital Test of the News workshop brought together digital sociologists, data visualisation and new media researchers at the Centre for Interdisciplinary Methodologies at the University of Warwick on 8 and 9 May 2018. The workshop is part of a broader research collaboration between the Centre for Interdisciplinary Methodologies and the Public Data Lab which investigates the changing nature of public knowledge formation in digital societies and develops inventive methods to capture and visualise knowledge dynamics online. Below we outline the workshop’s aims and outcomes.
  • Added plots to the NN code. Everything seems to look right. Looking at the individual weights in a layer is very informative. Need to add this kind of plotting to our keras code somehow:
  • Changing the coherence code so that the row values are zero or one. Actually, as the amount of data grows, BOW is getting more useful raw. This spreadsheet shows all posts, including the DM. Note that the word frequency is power law (R squared = .9352): All_posts
  • Started the optimizer and excel utils classes
  • NOAA meeting
  • NOAA meeting 2
  • Some thoughts from Aaron on our initial ML approach
    • I think for the first pass we do 1-2 models based on contract type focused on the $500k+ award contracts (120ish total).
    • We construct the inputs like sentences in the word generation LSTM with padded lengths equal to the longest running contract of that type, sorted by length. The model can be tested against current contracts held out in a test set using point by point prediction so we can show accuracy of the model against existing data and use that to set our accuracy threshold.
    • My guess is this will be at least an ORF/PAC model (two different primary contract types) which we can work on tuning with the learning_optimizer.py to get as accurate as possible in the timeframe we have.
    • One of the things we advertise as “next steps” is a detailed analysis of contracts based on similarity measures to identify a series of more accurate models. We can pair this with additional models such as Exponential Smoothing and ARIMA which use fundamentally the exact same pipeline.
    • The GUI will be plumbed up to show these analytic outputs on a per contract basis and we can show by the end of January a simple linear model and the LSTM model to demonstrate how Exponential Smoothing / ARIMA or model averages could be displayed. Once we have these outputs we can take the top 5 highest predicted UDO and display in a summary page so they can use those as a launching off point.
    • If we do it this way it means we only have to focus on the completion of TimeSeriesML LSTM and it’s data pipeline with a maximum of 2 initial models (contract type). I think that is a far more reasonable thing to complete in the timeframe and should still be really exciting to show off.

Phil 12.13.18

7:00 – 4:00 ASRC PhD/NASA

  • BBC Business Daily on making decisions under uncertainty. In particular, David Tuckett (Scholar), professor and director of the Centre for the Study of Decision-Making Uncertainty at University College London talks about how we reduce our sense of uncertainty by telling ourselves stories that we can then align with. This reminds me of how conspiracy theories develop, in particular the remarkable storyline of QAnon.
  • More Normal Accident review
  • NYTimes on frictionless design being a problem
  • Dungeon processing – broke out three workbooks for queries with all players, no dm, and just the dm. Also need to write up some code that generates the story on html.
  • Backprop debugging. I think it works? class_error
  • Here’s the core of the forward (train) and backpropagation (learn) code:
    def train(self):
        if self.source != None:
            src = self.source
            self.neuron_row_array = np.dot(src.neuron_row_array, src.weight_row_mat)
            if(self.target != None): # No activation function to output layer
                self.neuron_row_array = relu(self.neuron_row_array) # TODO: use passed-in activation function
            self.neuron_col_array = self.neuron_row_array.T
    
    def learn(self, alpha):
        if self.source != None:
            src = self.source
            delta_scalar = np.dot(self.delta, src.weight_col_mat)
            delta_threshold = relu2deriv(src.neuron_row_array) # TODO: use passed in derivative function
            src.delta = delta_scalar * delta_threshold
            mat = np.dot(src.neuron_col_array, self.delta)
            src.weight_row_mat += alpha * mat
            src.weight_col_mat = src.weight_row_mat.T
  • And here’s the evaluation:
  • --------------evaluation
    input: [[1. 0. 1.]] = pred: 0.983 vs. actual:[1]
    input: [[0. 1. 1.]] = pred: 0.967 vs. actual:[1]
    input: [[0. 0. 1.]] = pred: -0.020 vs. actual:[0]
    input: [[1. 1. 1.]] = pred: 0.000 vs. actual:[0]