I mentioned in class a randomly generated computer science paper that I "wrote" and showed to friends. I looked up the project again and although at the time I played around with it, I didn't think of it in psychological terms, it's an interesting idea to consider. The basic premise was that using a variety of technical terms and a an algorithm which assembles them into mostly sentences, a computer science paper was generated. Now, to anyone with much common sense, reading through much of the randomly generated papers will tell you pretty quickly that something is wrong. Yet, a number of the papers have been accepted to journals and conferences before the submitters told the journals that it was a hoax. See http://pdos.csail.mit.edu/scigen/blog/ for more details.
I wonder if this is a pluralistic ignorance effect of some sort. If a journal editor doesn't understand a paper, might be afraid to ask his superiors or question the author? The friends whom I showed it to either didn't read it or read it, didn't understand it, but didn't want to admit that they had no idea what "I" was saying in the paper. It's an interesting idea and I wonder how pervasive this effect is within academia.
Tuesday, April 29, 2008
Wednesday, April 16, 2008
Implicit Learning
I’m doing research for my final project, which will be exploring stereotypes. I’m trying to get a handle on implicit learning so I’ve been reading several books on that. Particularly, stereotypes seem to be automatic to a fairly high degree, so I want to understand implicit learning well enough to be able to conceptualize a model implementation. I’m reading a book conveniently titled Implicit Learning by Axel Cleeremans. Some interesting things I’ve learned about implicit learning:
Subjects who are given a task such as artificial grammar leaning very often do quite well with learning the rules and pattern recognition when given this task and simply learning implicitly. They also cannot verbalize many of the methods by which they have been able to come up with these rules. Interestingly, when told to “look for rules” subjects’ performance decreases. They do much better on a sequential learning task like that when only learning implicitly. I’ve noticed this sort of thing when doing calculus. As one gets to the point of integrating more complex functions, it becomes much less of an “apply the rules you’ve learned” game to a subtle art. When given complex functions, one often has to just try several different methods until the way that works well becomes clear. I’ve noticed that as I practiced calculus more, I was able to get the complex functions done in less steps. Of course, I can’t verbalize why it’s easier or what about a function makes me decide that integration by parts is the way to go, but nonetheless I can do it.
Relating this to stereotypes, I wonder how much of stereotype formation is implicit. Going back to my convenience store stereotype described in previous posts, I can’t tell you (for the most part) what about a customer makes me decide that they will ask for a bag once they get to the register. But nonetheless, I immediately make these sorts of assumptions. Some stereotypes (ethnic, gender, etc.) are quite salient and it’s easy to see how one applies a stereotype to them. However, not all are immediately evident. Further, not all of the traits that are applied to a stereotype are evident as to why we apply them. Again, though, some are. Statistically inaccurate stereotypes seems to be a case where implicit learning has failed. I don’t believe we consciously decide “I am going to form a stereotype about Asians. I will describe them with these characteristics: ...” We might have learned them from our culture, our parents, our environment, society, etc. But it’s unlikely that we purposefully formed our conceptions of people.
Anyway, I’m getting very excited about getting into the network creation for my final project. I will readily admit to being baffled by some of the math that some of the network books I’m reading have, but I think I’m finally starting to get some clarity and inspiration on how I can implement a stereotype framework into a neural network.
Subjects who are given a task such as artificial grammar leaning very often do quite well with learning the rules and pattern recognition when given this task and simply learning implicitly. They also cannot verbalize many of the methods by which they have been able to come up with these rules. Interestingly, when told to “look for rules” subjects’ performance decreases. They do much better on a sequential learning task like that when only learning implicitly. I’ve noticed this sort of thing when doing calculus. As one gets to the point of integrating more complex functions, it becomes much less of an “apply the rules you’ve learned” game to a subtle art. When given complex functions, one often has to just try several different methods until the way that works well becomes clear. I’ve noticed that as I practiced calculus more, I was able to get the complex functions done in less steps. Of course, I can’t verbalize why it’s easier or what about a function makes me decide that integration by parts is the way to go, but nonetheless I can do it.
Relating this to stereotypes, I wonder how much of stereotype formation is implicit. Going back to my convenience store stereotype described in previous posts, I can’t tell you (for the most part) what about a customer makes me decide that they will ask for a bag once they get to the register. But nonetheless, I immediately make these sorts of assumptions. Some stereotypes (ethnic, gender, etc.) are quite salient and it’s easy to see how one applies a stereotype to them. However, not all are immediately evident. Further, not all of the traits that are applied to a stereotype are evident as to why we apply them. Again, though, some are. Statistically inaccurate stereotypes seems to be a case where implicit learning has failed. I don’t believe we consciously decide “I am going to form a stereotype about Asians. I will describe them with these characteristics: ...” We might have learned them from our culture, our parents, our environment, society, etc. But it’s unlikely that we purposefully formed our conceptions of people.
Anyway, I’m getting very excited about getting into the network creation for my final project. I will readily admit to being baffled by some of the math that some of the network books I’m reading have, but I think I’m finally starting to get some clarity and inspiration on how I can implement a stereotype framework into a neural network.
Monday, April 14, 2008
An Empirical Study of Stereotypes
The title is slightly misleading, but I was called into work at my convenience store on Friday due to an IT emergency. Our main cash register experienced a database corruption and aside from my duties as hangover vomit removal specialist, I also serve as the store's IT Manager, so I came in to deal with that at double overtime pay. I wish there were more emergencies that needed my immediate attention at double overtime.
While I was waiting for the database to rebuild, I decided to test my "customer stereotype accuracy". As a customer entered, I made note of what my unfounded assumptions about them were, then noted whether they were correct. I got 7.1% completely correct and 17.3% partially correct out of 197 customers who entered. I only counted customers who bought something and I did not include any friends that were with these customers unless they bought something as well. I also did not count any of the "regulars", whom I would already be familiar with. So, at best I had about one fourth of my assumptions correct. It seems that there's quite a confirmation bias when it comes to that stereotype; I thought I had quite an accurate picture of our customer base, but in the end it turned out that most of that was just my only noting my correct assumptions. I would speculate that this is what fuels a lot of stereotypes. Confirmation bias seems to be the main reason why my customer stereotypes are maintained. I'm hoping to do my final project on stereotypes, so I wonder if there's any way I can try to perform any sort of confirmation bias framework for my network.
Of course there are several problems with my "experiment:"
1) No control
2) I was quite stressed at this time, as our Friday sales are some of our biggest sales day, and a colossal database crash is quite a stressful event for me. Running that many customers through on our single backup terminal while simultaneously repairing our main system probably caused me to be a bit terser with customers than I normally would be and thus might have affected their attitudes.
3) One particularly annoying customer whom I ended up having to call the police on put me in a very terse mood that, again as above, might have affected my interactions with customers.
3) There's the "awareness" factor where, as both the experimenter and the subject, I was probably not making the same assumptions I normally would be, or at least had a different pattern of behavior.
In any case, it was an interesting study that I think will affect how I view customers and how I treat people who enter our store.
While I was waiting for the database to rebuild, I decided to test my "customer stereotype accuracy". As a customer entered, I made note of what my unfounded assumptions about them were, then noted whether they were correct. I got 7.1% completely correct and 17.3% partially correct out of 197 customers who entered. I only counted customers who bought something and I did not include any friends that were with these customers unless they bought something as well. I also did not count any of the "regulars", whom I would already be familiar with. So, at best I had about one fourth of my assumptions correct. It seems that there's quite a confirmation bias when it comes to that stereotype; I thought I had quite an accurate picture of our customer base, but in the end it turned out that most of that was just my only noting my correct assumptions. I would speculate that this is what fuels a lot of stereotypes. Confirmation bias seems to be the main reason why my customer stereotypes are maintained. I'm hoping to do my final project on stereotypes, so I wonder if there's any way I can try to perform any sort of confirmation bias framework for my network.
Of course there are several problems with my "experiment:"
1) No control
2) I was quite stressed at this time, as our Friday sales are some of our biggest sales day, and a colossal database crash is quite a stressful event for me. Running that many customers through on our single backup terminal while simultaneously repairing our main system probably caused me to be a bit terser with customers than I normally would be and thus might have affected their attitudes.
3) One particularly annoying customer whom I ended up having to call the police on put me in a very terse mood that, again as above, might have affected my interactions with customers.
3) There's the "awareness" factor where, as both the experimenter and the subject, I was probably not making the same assumptions I normally would be, or at least had a different pattern of behavior.
In any case, it was an interesting study that I think will affect how I view customers and how I treat people who enter our store.
Friday, April 11, 2008
Stereotyping and Convenience Stores
So I worked (and still come in to do occasional tech consulting for) a convenience store in Collegetown Ithaca, home of the Ivy League Cornell. I worked there regularly all through high school, four years, and as I worked there, I discovered that as soon as someone walked into a store, I made a few assumptions about them:
1) What kind of things they would buy (Beer, frozen yogurt, cigarettes, grocery items?)
2) How they would pay (Cash, Credit, City Bucks (the Cornell off-campus dining plan)
3) If they were buying beer or cigarettes, would they have their ID?
4) Would they ask for a bag?
5) Would they be polite, or would they give me a hard time?
It's amazing, based on a five second analysis as someone walks in, I've unconsciously made a determination about a person's demeanor based on their appearance and nothing else. I like to think that it's based on some sort of knowledge and experience, and to some degree it is. There is definitely a stereotype of the "fro-yo girl" (affectionately called "fro-yo hoes" by the store staff). She's always on her cell phone, pays with City Bucks, and buys frozen yogurt regardless of how cold it is. My store has gone as far as creating a "fro yo hoe of the month" promotion, which has been surprisingly successful. The recipients (with their consent) are awarded free frozen yogurt for a month, a t-shirt, and allowed to choose one of the flavors all because they fit a stereotype well. It's quite interesting to see how receptive most of the girls are to receiving this "honor."
Seeing how easily I formed my own stereotype about who tries to buy beer without an ID and who will ask for a bag based only on appearance seems to really speak to the way that stereotypes are so easily formed. It should be interesting to see if I can model this automatic behavior in my cognitive neural net; this is the topic I hope to study for my final project.
1) What kind of things they would buy (Beer, frozen yogurt, cigarettes, grocery items?)
2) How they would pay (Cash, Credit, City Bucks (the Cornell off-campus dining plan)
3) If they were buying beer or cigarettes, would they have their ID?
4) Would they ask for a bag?
5) Would they be polite, or would they give me a hard time?
It's amazing, based on a five second analysis as someone walks in, I've unconsciously made a determination about a person's demeanor based on their appearance and nothing else. I like to think that it's based on some sort of knowledge and experience, and to some degree it is. There is definitely a stereotype of the "fro-yo girl" (affectionately called "fro-yo hoes" by the store staff). She's always on her cell phone, pays with City Bucks, and buys frozen yogurt regardless of how cold it is. My store has gone as far as creating a "fro yo hoe of the month" promotion, which has been surprisingly successful. The recipients (with their consent) are awarded free frozen yogurt for a month, a t-shirt, and allowed to choose one of the flavors all because they fit a stereotype well. It's quite interesting to see how receptive most of the girls are to receiving this "honor."
Seeing how easily I formed my own stereotype about who tries to buy beer without an ID and who will ask for a bag based only on appearance seems to really speak to the way that stereotypes are so easily formed. It should be interesting to see if I can model this automatic behavior in my cognitive neural net; this is the topic I hope to study for my final project.
Homework 2: Recreating a memory effect
So I am finally writing up homework 2. After weeks of procrastination, fifteen hours of little progress and subsequent panic, and finally three hours of working results, I finished. I used JOONE to recreate the primacy and recency effect, though only succeeding in creating the primacy effect. I used a new kind of layer: the delay layer. This layer allowed me to give an input node a "delay" on being processed through the network. This worked by having undelayed nodes being processed more than the delayed nodes. A parameter, called taps, allowed me to set the number of cycles by which the process would be delayed.
My main difficulty was figuring out how to measure the results. The main idea is "how did it learn a set of data?". I gave it a set of values on the input node, and had a teacher signal give it a result, then tested it with various levels of delay. I had a large set of data so as to keep the learning fairly randomized, so I had two hidden layers as well. I then ran it through just 100 epochs for each training set. This seems somewhat consistent with a basic learning paradigm, where we would be exposed to words or some other stimulus and our neurons would synapse many times even in the few seconds that one might be exposed to a stimulus in a primacy/recency task. I was able to get a consistent result where the undelayed (first stimulus in a series) item had the lowest RMSE, which I used as my baseline for measurement. My problem came when I tried to determine how to get a recency effect. Primacy and recency are probably the result of two different processes, so a different approach is needed to get a recency result. Particularly, one needs to be able to recreate a long term and short term memory system and have some way to distinguish the recall between these two. Perhaps two input "networks" that have already been trained could be transferred to an output node via a learning "switch" that has the short term more salient and accessible, but also has things learned in there not quite so permanent. There would also need to be transfer between STM and LTM. A complicated proposal for sure!
My main difficulty was figuring out how to measure the results. The main idea is "how did it learn a set of data?". I gave it a set of values on the input node, and had a teacher signal give it a result, then tested it with various levels of delay. I had a large set of data so as to keep the learning fairly randomized, so I had two hidden layers as well. I then ran it through just 100 epochs for each training set. This seems somewhat consistent with a basic learning paradigm, where we would be exposed to words or some other stimulus and our neurons would synapse many times even in the few seconds that one might be exposed to a stimulus in a primacy/recency task. I was able to get a consistent result where the undelayed (first stimulus in a series) item had the lowest RMSE, which I used as my baseline for measurement. My problem came when I tried to determine how to get a recency effect. Primacy and recency are probably the result of two different processes, so a different approach is needed to get a recency result. Particularly, one needs to be able to recreate a long term and short term memory system and have some way to distinguish the recall between these two. Perhaps two input "networks" that have already been trained could be transferred to an output node via a learning "switch" that has the short term more salient and accessible, but also has things learned in there not quite so permanent. There would also need to be transfer between STM and LTM. A complicated proposal for sure!
Heuristics
We have been studying heuristics: "rules of thumb" that our memory system uses to make likelihood judgments. They're not perfect, but they give us a good idea about what's likely. Sure, we could be more accurate if we didn't use them, but we'd also be less efficient. The availability heuristic is particularly interesting: we make a judgment or assumption based on whatever is there. We could be given a totally unrelated figure and "latch onto it", using it in some unrelated guess.
It's as I study the issues like these of the memory system that I realize part of why we have the scientific method and, in math, the axiomatic method: we need to prevent the errors in human judgment affecting our ability to learn more about the world. If science was based on introspection and just figuring things out based on the way things appeared to be, we'd have so many false assumptions about the world. Our memory system is incredible, but it can also lead us to very powerful mistakes.
It's as I study the issues like these of the memory system that I realize part of why we have the scientific method and, in math, the axiomatic method: we need to prevent the errors in human judgment affecting our ability to learn more about the world. If science was based on introspection and just figuring things out based on the way things appeared to be, we'd have so many false assumptions about the world. Our memory system is incredible, but it can also lead us to very powerful mistakes.
Illusory Correlations
We're studying a bit about illusory correlations and what especially interested me was the note that the author began with, that while many doctors and patients believe arthritis pain is correlated with weather changes, the scientific data is not present to support this. This interests me, as my fiancée suffers from fibromyalgia, a disease similar to arthritis that causes chronic pain and both of us seem to notice the pain is worse in winter. Yet, I looked at studies and confirmed that there is also no link between weather and fibromyalgia pain. Are we really that bad at seeing correlations? The ebb and flow of pain is constant, but we find a link because everyone else seems to find a link.
It appears that our system is quite susceptible to suggestions from others and "common sense." Mathematics, which is, of course, done by humans, had the quite serious problem that mathematicians were mostly using common sense to make claims about things. This worked when we try to prove 1+1=2, but when we try to prove things that get more complicated, it falls apart. It was as mathematics got more complicated and advanced mathematics became used more and more in practical applications that the axiomatic proof method became widespread. Mathematicians accepted nothing without a proof to go with it. I recall having to prove that any number times 0 is 0. Unfortunately, our memory system is not robust enough to be able to axiomatically and logically prove everything. We must make assumptions and inferences or the world would overwhelm us. Problems like illusory correlations become outweighed by the benefit of having the ability to make inferences. But these problems are why, as scientists, we must not make assumptions about the world without data to back it up.
It appears that our system is quite susceptible to suggestions from others and "common sense." Mathematics, which is, of course, done by humans, had the quite serious problem that mathematicians were mostly using common sense to make claims about things. This worked when we try to prove 1+1=2, but when we try to prove things that get more complicated, it falls apart. It was as mathematics got more complicated and advanced mathematics became used more and more in practical applications that the axiomatic proof method became widespread. Mathematicians accepted nothing without a proof to go with it. I recall having to prove that any number times 0 is 0. Unfortunately, our memory system is not robust enough to be able to axiomatically and logically prove everything. We must make assumptions and inferences or the world would overwhelm us. Problems like illusory correlations become outweighed by the benefit of having the ability to make inferences. But these problems are why, as scientists, we must not make assumptions about the world without data to back it up.
JOONE
So we began working with JOONE: The Java Object Oriented Neural Environment. Unfortunately, I had an emergency appendectomy during the week that the class worked on it, so I didn't have an opportunity to explore it with my peers. But I have had a chance to look through it and I've noticed a few things:
1) It violates Apple's Human Interface Guidelines! Of course, it's meant to be a cross-platform program, but having gotten used to a certain way of programs working, it's a bit hard to get used to. There are, of course, worse things that a program could do.
2) It is open source and the GUI editor we're using is just a front end to a very powerful Java programming environment. Unfortunately, most of my programming experience is in Objective-C, so it will be a bit of a learning curve for me to try to create a network just from the APIs that JOONE has, but I hope to try to give my Java chops a spin again.
3) The GUI is a bit hard to get used to and the complete guide is mostly based on the actual programming environment rather than the GUI front end, but the guide was quite useful in understanding the underlying frameworks of the network environment. It should be helpful and especially interesting were the different layers: a variety of different functions and synapses are available for different kinds of networks. I really hope I can spend a bit of time playing with some of the other kinds of layers and synapses to see what kinds of results it yields.
JOONE can run off of any UNIX environment, so I've installed it on my Linux server and I've been playing around with the source code on there to try different tricks in the builds, though most of my attempts at tricks just made the program not compile and even once impressively caused a kernel panic in my machine. I'm keeping the stable, working version running on my Mac and using my Linux server as my development test bed.
1) It violates Apple's Human Interface Guidelines! Of course, it's meant to be a cross-platform program, but having gotten used to a certain way of programs working, it's a bit hard to get used to. There are, of course, worse things that a program could do.
2) It is open source and the GUI editor we're using is just a front end to a very powerful Java programming environment. Unfortunately, most of my programming experience is in Objective-C, so it will be a bit of a learning curve for me to try to create a network just from the APIs that JOONE has, but I hope to try to give my Java chops a spin again.
3) The GUI is a bit hard to get used to and the complete guide is mostly based on the actual programming environment rather than the GUI front end, but the guide was quite useful in understanding the underlying frameworks of the network environment. It should be helpful and especially interesting were the different layers: a variety of different functions and synapses are available for different kinds of networks. I really hope I can spend a bit of time playing with some of the other kinds of layers and synapses to see what kinds of results it yields.
JOONE can run off of any UNIX environment, so I've installed it on my Linux server and I've been playing around with the source code on there to try different tricks in the builds, though most of my attempts at tricks just made the program not compile and even once impressively caused a kernel panic in my machine. I'm keeping the stable, working version running on my Mac and using my Linux server as my development test bed.
Subscribe to:
Comments (Atom)